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