当前位置:首页 >> 网络编程

layer.open 获取不到表单信息的解决方法

表单:

<div class="orderHouse none">
  <ul class="order-house-messige">
    <form id="order-form" class="mui-input-group common-input-group order-house-group" data-action="<{:U('ordering')}>">
    <li>
      <span>看房时间</span>
      <input type="text" class="input-normal order-time" name="time" placeholder="请选择看房时间"/>
    </li>
    <li>
      <span>联系方式</span>
      <input type="tel" class="input-normal" data-value="123123" name="mobile" placeholder="155****5892" />
    </li>
    <li>
      <span class="fn-left">备注</span>
      <textarea rows="5" cols="54" name="content" placeholder="请输入备注"></textarea>
    </li>
    <li>
      <span> &nbsp;</span>
      <button type="button" class="btn btn-primary btn-lg order-messige-btn">提交看房申请</button>
    </li>
    </form>
  </ul>
</div>

js :

layer.open({
  type: 1,
  title: [
    '申请预约看房',
    'background-color:#fff; border-bottom:solid 1px #e5e5e5; margin-top: 0;height: 60px;line-height: 60px; font-size:18px;'
  ],
  closeBtn:2,
  area: ['570px','400px'],
  content: $('.orderHouse').html(),
  success:function(){
    //申请成功
    $('.order-messige-btn').on('click',function() {
      alert($("textarea").val());
    });
  }
});

在此处报了一个错误:layer.open弹出框不能获取input框的值为空

点击保存就是不能获取input的值,总是为空字符串。

后来在网上查找资料,原来这是个比较普遍的bug,原来是layer.open的content参数(上面红色标记代码),应该写成

content: $('.orderHouse'),不要后面的html(),去掉后调试正常获取了input的值,解决问题就行,也没有去深究这个是什么原因(关键也没那个时间)。

以上这篇layer.open 获取不到表单信息的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。