站长资源网络编程

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

整理:jimmy2026/7/29浏览2
简介表单:

    表单:

    <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 获取不到表单信息的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。