解決layer.open彈出框不能獲取input框的值為空的問題
最近使用layer框架來做頁面彈出框操作??偸遣荒塬@取彈出框中input的值,代碼如下:紅色標記區(qū)域
添加js代碼
//Ajax添加品牌
function addBrandWI(){
layer.open({
type: 0,
title: '品牌添加',
shadeClose: true,
shade: 0.8,
btn: ['保存', '取消'],
area: ['40%', '70%'],
content: $('#add_Brand').html(),
yes:function(index, layero){
subForm();
layer.close(index);
},cancel: function(){}
});
}
function subForm(){
var bname=$("#brandname").val();
$.ajax({
url: 'salecenter.jsp?act=savaBrand&bname='+bname,
type: "GET",
dataType: "json", //返回json格式的數據
async: true,
success: function (data) {
if (data == '0') {
layer.alert("品牌添加成功");
} else if(data == '1'){
layer.alert("品牌添加失敗");
}else if(data == '2'){
layer.alert("此品牌已經存在");
}
}, error: function() {
}
});
}
添加html代碼
<!-- 彈出框添加品牌 --> <div id="add_Brand" style="display:none;"> <form autocomplete="off" id="sub_form" method="post"> <div class="add_model"> <div> <b class="out">*</b>品牌名稱: </div> <div> <input name="brandname" id="brandname" type="text" value=""/> </div> </div> </form> </div>
彈出框如下圖:

點擊保存就是不能獲取input的值,總是為空字符串。
后來在網上查找資料,原來這是個比較普遍的bug,原來是layer.open的content參數(上面紅色標記代碼),應該寫成
content: $('#add_Brand'),不要后面的html(),去掉后調試正常獲取了input的值,解決問題就行,也沒有去深究這個是什么原因(關鍵也沒那個時間)。
以上這篇解決layer.open彈出框不能獲取input框的值為空的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JS常見簡單正則表達式驗證功能小結【手機,地址,企業(yè)稅號,金額,身份證等】
這篇文章主要介紹了JS常見簡單正則表達式驗證功能,結合實例形式總結分析了JS針對手機,地址,企業(yè)稅號,金額,身份證等的常見驗證技巧,需要的朋友可以參考下2017-01-01
JavaScript使用百度ECharts插件繪制餅圖操作示例
這篇文章主要介紹了JavaScript使用百度ECharts插件繪制餅圖操作,結合實例形式分析了JavaScript使用百度ECharts插件繪制餅圖的原理、步驟及相關操作注意事項,需要的朋友可以參考下2019-11-11

