使用layer彈窗,制作編輯User信息頁(yè)面的方法
用戶信息展示頁(yè)面為A頁(yè)面,編輯頁(yè)面為B頁(yè)面。A是B的父頁(yè)面
首先在A頁(yè)面添加按鈕,點(diǎn)擊觸發(fā)函數(shù),函數(shù)初始化layer彈窗
‘編輯'按鈕:
<button type="button" class="btn btn-primary btn-xs" id="edit{{item.id}}"
onclick="editSingle('{{$index}}')">修改</button>
執(zhí)行函數(shù):
var userContent//作為全局變量,之后給B頁(yè)面直接調(diào)用,后面會(huì)提到
function editSingle(index){
userContent = vm.content[index]
layer.open({
type: 2,
title: '編輯',
area : ['800px' , '520px'],
scrollbar: false,//禁止瀏覽器滾動(dòng)
content: 'bUser/editSingle'
});
}
B頁(yè)面初始化時(shí)從A頁(yè)面取值,用parent.xxx
var iframe = parent.layer.getFrameIndex(window.name); //獲取窗口索引,這里的B頁(yè)面所在窗口的索引值為1
var vm = new Vue({
el:'#editUser',
data:{
contents:parent.userContent,//從A頁(yè)面取值
titles:['手機(jī)','密碼','用戶名','性別','郵箱','地區(qū)','個(gè)性簽名','頭像']
}
});
使用Vue動(dòng)態(tài)生成html語(yǔ)句
<form class="form-horizontal" id="editUser" action="<%=basePath%>/BSMSys/bUser/save" method="post">
<div class="form-group" v-for="(key,value) in contents" >
<div v-if="$index==0">
<div hidden>
<input v-else type="text" class="form-control" id="{{key}}" name="{{key}}" placeholder="{{value}}" value="{{value}}">
</div>
</div>
<div v-if="$index!=0">
<label for="{{key}}" class="col-xs-2 control-label">{{titles[$index-1]}}</label>
<div class="col-xs-9" >
<div v-if="$index==4 || value=='MAN'" class="fixradio">
<input type="radio" name="{{key}}" id="{{key}}" value="MAN"/> 男
<input type="radio" name="{{key}}" id="{{key}}" value="WOMEN"/> 女
</div>
<input v-else type="text" class="form-control" id="{{key}}" name="{{key}}" placeholder="{{value}}" value="{{value}}">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-5 col-xs-1">
<button class="btn btn-primary" id="save">保存</button>
</div>
<div class="col-xs-1">
<button class="btn btn-default" id="restore">還原</button>
</div>
</div>
</form>
效果如下:

由于其中'性別'是radio單選框,所以需要判斷
//判斷性別,并選中對(duì)應(yīng)的radio
if(vm.contents.sex!=''){
if(vm.contents.sex=='MAN') $("#sex:eq(0)").click();
else $("#sex:eq(1)").click();
}
還原按鈕,即刷新頁(yè)面:
$("#restore").click(function(){
window.location.reload();
})
保存按鈕:
$("#save").click(function(){
$("#editUser").submit();
parent.location.reload();
//parent.layer.close(iframe);//如果執(zhí)行這一步,會(huì)導(dǎo)致submit無(wú)法提交到服務(wù)器,這里用刷新頁(yè)面使彈窗關(guān)閉
})
在后臺(tái)將form數(shù)據(jù)保存進(jìn)數(shù)據(jù)庫(kù)即可
后續(xù)優(yōu)化:
將B頁(yè)面form表單的submit提交改為ajax提交,
function save(){
$.ajax({
type:"post",
url:"<%=basePath%>/BSMSys/bUser/save",
data: $("#editUser").serialize(),//序列化表單數(shù)據(jù)
complete: function() {
parent.layer.close(iframe);//關(guān)閉彈窗
}
});
}
$('#save').on('click', function(){
save();
});
將A頁(yè)面的layer彈窗添加end函數(shù)回調(diào),使彈窗關(guān)閉后刷新頁(yè)面:
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 );//初始化分頁(yè)插件
});
$("#pageInputGroup").attr("class","input-group");
$("#pageInput").attr("placeholder",function(index,value){
$(this).val("");
return "第"+options.currentPage+"頁(yè),共"+options.totalPages+"頁(yè)";
});
}
var userContent
function editSingle(index){
userContent = vm.content[index]
layer.open({
type: 2,
title: '編輯',
area : ['800px' , '520px'],
scrollbar: false,//禁止瀏覽器滾動(dòng)
content: '<%=basePath%>/BSMSys/bUser/editSingle',
end:function(){
jumpToPage(options.currentPage);
}
});
}
以上這篇使用layer彈窗,制作編輯User信息頁(yè)面的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery實(shí)現(xiàn)為控件添加水印文字效果(附源碼)
這篇文章主要介紹了jQuery實(shí)現(xiàn)為控件添加水印文字效果的方法,涉及jQuery插件jquery.tinywatermark.js的使用技巧,并提供了源碼供讀者下載參考,需要的朋友可以參考下2015-12-12
Javascript前端事件循環(huán)機(jī)制詳細(xì)講解
單線程的同步等待極大影響效率,任務(wù)不得不一個(gè)一個(gè)等待執(zhí)行,對(duì)于網(wǎng)頁(yè)應(yīng)用是無(wú)法接受的。所以Javascript使用事件循環(huán)機(jī)制來(lái)解決異步任務(wù)的問(wèn)題。本文就來(lái)講講Javascript的事件循環(huán)機(jī)制,希望對(duì)你有所幫助2022-12-12
JavaScript實(shí)現(xiàn)酷炫的鼠標(biāo)拖尾特效
這篇文章主要為大家介紹了通過(guò)JavaScript實(shí)現(xiàn)的一個(gè)超級(jí)好看的鼠標(biāo)拖尾特效,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,感興趣的可以學(xué)習(xí)一下2021-12-12
Bootstrap下拉菜單更改為懸停(hover)觸發(fā)的方法
這篇文章主要為大家詳細(xì)介紹了Bootstrap下拉菜單更改為懸停(hover)觸發(fā)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
微信小程序?qū)崿F(xiàn)簡(jiǎn)單倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
用js實(shí)現(xiàn)鍵盤方向鍵翻頁(yè)功能的代碼
用js實(shí)現(xiàn)鍵盤方向鍵翻頁(yè)功能的代碼...2007-06-06
momentjs實(shí)現(xiàn)DatePicker時(shí)間禁用的項(xiàng)目實(shí)踐
momentjs是一個(gè)處理時(shí)間的js庫(kù),簡(jiǎn)潔易用,本文來(lái)介紹一下momentjs實(shí)現(xiàn)DatePicker時(shí)間禁用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09

