本文介绍了从提交停止形式,使用jQuery的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从如果验证失败提交停止我的方式。我试图按照此但我不会为我工作。我缺少什么?

 <输入ID =saveButton类型=提交值=保存/>
<输入ID =cancelButton类型=按钮值=取消/>
<脚本SRC =../../脚本/ jQuery的-1.4.1-vsdoc.js类型=文/ JavaScript的>< / SCRIPT>
<脚本类型=文/ JavaScript的>    $(文件)。就绪(函数(){
        $(形式)。递交(函数(五){
            $阿贾克斯({
                网址:'@ Url.Action(HasJobInProgress,ClientChoices)/',
                数据:{ID:@ Model.ClientId},
                成功:功能(数据){
                    showMsg(数据,E);
                },
                缓存:假的
            });
        });
    });
    $(#cancelButton)。点击(函数(){
        window.location的='@ Url.Action(名单,默认,新的{clientid = Model.ClientId});
    });
    $([类型=文本])。对焦(函数(){
        $(本)。选择();
    });
    功能showMsg(hasCurrentJob,发件人){
        如果(hasCurrentJob ==真){
            警报(当前客户在正在进行的作业没有变化可以保存,直到当前作业完成。);
            如果(发送!= NULL){
                。发信人preventDefault();
            }
            返回false;
        }
    }< / SCRIPT>


解决方案

再次AJAX异步是。所以showMsg功能后,才从服务器成功响应被称为..和表单提交事件不会等到AJAX的成功。

移动电子preventDefault(); 在单击处理程序的第一行

  $(形式)。递交(函数(五){
      亦即preventDefault(); //这将prevent从提交表单。
      ...

见下文code,

$(document).ready(function () {
    $("form").submit(function (e) {
        e.preventDefault(); //prevent default form submit
        $.ajax({
            url: '@Url.Action("HasJobInProgress", "ClientChoices")/',
            data: { id: '@Model.ClientId' },
            success: function (data) {
                showMsg(data);
            },
            cache: false
        });
    });
});
$("#cancelButton").click(function () {
    window.location = '@Url.Action("list", "default", new { clientId = Model.ClientId })';
});
$("[type=text]").focus(function () {
    $(this).select();
});
function showMsg(hasCurrentJob) {
    if (hasCurrentJob == "True") {
        alert("The current clients has a job in progress. No changes can be saved until current job completes");
        return false;
    } else {
       $("form").unbind('submit').submit();
    }
}

这篇关于从提交停止形式,使用jQuery的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 12:06
查看更多