js中向服务器提交form提交表单不跳转的方法

       form表单的通常写法是这样的:

 
 
<form id="apply-for-help-form" method="post" action="">
                        <div class="apply-name inner-mod">
                            <div class="inner-head">请填写您的姓名:</div>
                            <div class="inner-body">
                                <input type="text" id="name" class="input_txt" name="name" placeholder="请输入您的姓名">
                            </div>
                        </div>
                        <div class="apply-phone inner-mod">
                            <div class="inner-head">请填写您的手机:</div>
                            <div class="inner-body">
                                <input type="number" id="phone" name="phone" class="input_txt" placeholder="请输入您的手机号">
                            </div>
                        </div>
                        <div class="help-reason inner-mod">
                            <div class="inner-head">请填写申请原因:</div>
                            <div class="inner-body">
                                <textarea id="apply-reason" name="reason" class="textarea" maxlength="51" placeholder="请输入申请原因"></textarea>
                            </div>
                        </div>
                        <input type="submit" id="submit-btn" class="full-width-btn need-active" value="提交"><!--<i class="icon icon-hand-grab-o"></i>-->
                    </form>



       但是form表单在提交完数据后默认是要跳转到<form>标签中action指向的路径,也就是一个新的页面,如果我们不希望页面跳转,那么该怎么处理呢?

       这个不复杂,只需要在<form>标签中添加一个onsubmit属性,如下所示:

<form id="apply-for-help-form" method="post" action="" onsubmit="return false;">
       接下来还需要做另外一个操作,需要在js代码中form表单的submit事件中添加" return false;"语句,如下所示:

$("#apply-for-help-form").submit(function(){
        if (!isV2gogoApp()){
            $(".apply-for-help").hide();
            showDownloadAPPColorbox();
        }
        else {
            var noError = true;
            var errorLables = $("label");
            for (var i = 0; i < errorLables.length; i++){       // 判断输入框是否有错误提示
                if (errorLables[i].innerText != ""){
                    noError = false;
                }
            }
            if (noError == true){                               // 只有输入框校验正确后,才向服务端发送数据,并跳转
                submitApplyForHelpForm(serverPrefix + "", id);  // to do
            }
            return false;       // 页面不跳转
        }
    });

         这样处理完后,就可以避免form表单的默认跳转。

猜你喜欢

转载自blog.csdn.net/yangzhen06061079/article/details/53288966