使用layer弹窗,制作编辑User信息页面的方法

<button type="button">修改</button>

执行函数:

var userContent//作为全局变量,之后给B页面直接调用,后面会提到 function editSingle(index){ userContent = vm.content[index] layer.open({ type: 2, title: '编辑', area : ['800px' , '520px'], scrollbar: false,//禁止浏览器滚动 content: 'bUser/editSingle' }); }

B页面初始化时从A页面取值,用parent.xxx

var iframe = parent.layer.getFrameIndex(window.name); //获取窗口索引,这里的B页面所在窗口的索引值为1 var vm = new Vue({ el:'#editUser', data:{ contents:parent.userContent,//从A页面取值 titles:['手机','密码','用户名','性别','邮箱','地区','个性签名','头像'] } });

使用Vue动态生成html语句

<form action="<%=basePath%>/BSMSys/bUser/save" method="post"> <div v-for="(key,value) in contents" > <div v-if="$index==0"> <div hidden> <input v-else type="text" placeholder="{{value}}" value="{{value}}"> </div> </div> <div v-if="$index!=0"> <label for="{{key}}">{{titles[$index-1]}}</label> <div > <div v-if="$index==4 || value=='MAN'"> <input type="radio" value="MAN"/> 男 <input type="radio" value="WOMEN"/> 女 </div> <input v-else type="text" placeholder="{{value}}" value="{{value}}"> </div> </div> </div> <div> <div> <button>保存</button> </div> <div> <button>还原</button> </div> </div> </form>

效果如下:

使用layer弹窗,制作编辑User信息页面的方法

由于其中'性别'是radio单选框,所以需要判断

//判断性别,并选中对应的radio if(vm.contents.sex!=''){ if(vm.contents.sex=='MAN') $("#sex:eq(0)").click(); else $("#sex:eq(1)").click(); }

还原按钮,即刷新页面:

$("#restore").click(function(){ window.location.reload(); })

保存按钮:

$("#save").click(function(){ $("#editUser").submit(); parent.location.reload(); //parent.layer.close(iframe);//如果执行这一步,会导致submit无法提交到服务器,这里用刷新页面使弹窗关闭 })

在后台将form数据保存进数据库即可

后续优化:

将B页面form表单的submit提交改为ajax提交,

function save(){ $.ajax({ type:"post", url:"<%=basePath%>/BSMSys/bUser/save", data: $("#editUser").serialize(),//序列化表单数据 complete: function() { parent.layer.close(iframe);//关闭弹窗 } }); }

$('#save').on('click', function(){ save(); });

将A页面的layer弹窗添加end函数回调,使弹窗关闭后刷新页面:

function jumpToPage(page){ $.get("<%=basePath%>/BSMSys/bUser/showUser?pageNum="+page, function(data) { vm.content=data.content;//赋值给vue currPage = data.number+1; $('#pager').bootstrapPaginator("show",currPage );//初始化分页插件 }); $("#pageInputGroup").attr("class","input-group"); $("#pageInput").attr("placeholder",function(index,value){ $(this).val(""); return "第"+options.currentPage+"页,共"+options.totalPages+"页"; }); }

var userContent function editSingle(index){ userContent = vm.content[index] layer.open({ type: 2, title: '编辑', area : ['800px' , '520px'], scrollbar: false,//禁止浏览器滚动 content: '<%=basePath%>/BSMSys/bUser/editSingle', end:function(){ jumpToPage(options.currentPage); } }); }

以上这篇使用layer弹窗,制作编辑User信息页面的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2e945f9fdf6f40f90ca35443e273101a.html