layer.open弹出框不能获取input框的值为空

本文章为转载,原创:https://blog.csdn.net/jaryle/article/details/79814298

最近使用layer框架来做页面弹出框操作。总是不能获取弹出框中input的值,代码如下:content: $(’#add_Brand’).html()

添加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的值,解决问题就行,也没有去深究这个是什么原因(关键也没那个时间)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值