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

参考:  https://blog.csdn.net/jaryle/article/details/79814298



猜你喜欢

转载自blog.csdn.net/weixin_39461487/article/details/80719381