jquery 非ajax表单提交

最近再写一个表单的时候,忽然不想用ajax向后台传值。记得jquery也有submit的方法,直接提交就完了。于是,开写代码。

<form id="myForm" action="url" method="post">
    <div>
        <em>您的姓名</em>
        <label>
            <input type="text" value="" name="userName" placeholder="请填写真实姓名"/>
        </label>
    </div>
    <div>
        <em>您的手机</em>
        <label>
            <input type="tel" value="" name="mobile" placeholder="请填写手机号码"/>
        </label>
    </div>
    <div>
        <input type="submit" value="立即报名" class="submit"/>
    </div>
</form>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$('.submit').click(function () {
        //验证成功
        $('#myForm').submit(function () {
            alert('报名成功!');
        });
    });
</script>

       嗯嗯,代码写完了。非常简单,但是问题出现了,我应该怎么接收后台的反馈呢。再发ajax请求?!哎呦,那还不如一开始就用ajax请求呢。或者直接改成ajax请求?!倔强少女表示不太开心呢,在ajax出现之前,一定有其他方式进行异步请求的操作,是什么呢?百度了下,发现有提到iframe。那就先用iframe试试看吧。

<iframe src="" name="myIframe" style="display: none;"></iframe>
<form id="myForm" action="url" method="post" target="myIframe">
    <div>
        <em>您的姓名</em>
        <label>
            <input type="text" value="" name="userName" placeholder="请填写真实姓名"/>
        </label>
    </div>
    <div>
        <em>您的手机</em>
        <label>
            <input type="tel" value="" name="mobile" placeholder="请填写手机号码"/>
        </label>
    </div>
    <div>
        <input type="submit" value="立即报名" class="submit"/>
    </div>
</form>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$('.submit').click(function () {
        //验证成功
        $('#myForm').submit(function () {
          //通过获取iframe接收后台数据,判断表单是否提交成功
            $('iframe[name=myIframe]').on('load', function() {
                //获取iframe数据
                var res = $('iframe')[0].contentDocument?JSON.parse($('iframe')[0].contentDocument.body.innerText):JSON.parse($('iframe')[0].contentWindow.document.body.innerText);
                if(parseInt(res.code)===200){
                    alert('报名成功!');
                    //报名成功后,刷新页面
                    var timer=setTimeout(function () {
                        window.location.href=window.location.href;
                        clearTimeout(timer);
                    },0);
                }else{
                    alert('报名失败!');
                }
            });
        });
    });
</script>

嗯,成功了。值得一提的是:iframe提交表单需要将 iframe的name属性和from表单的target属性设置为相同的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值