拦截表单提交并阻止或允许提交

时间:2015-11-20 07:13:00

标签: jquery

在我的mvc应用程序中,我有一个表单,需要阻止提交默认值,如果它符合我的条件,则重新提交。即使它给我我的改变信息形式也没有重新提交。

$("form").submit(function (e) {
    e.preventDefault();
    var myform = this;
    var id = $("#itemID").val();
    var brand = $("#brand").val();
    var qty = $('[name=qty]').val();

    $.get("http://192.168.192.106/data/" + id + "?brand=" + brand, function (data, status) {
        var diff = data - qty;
        if ((data - qty) > 0) {
            myform.submit();
        } else {
            alert("Qty is Grater than Stock");
        }
    });
});

2 个答案:

答案 0 :(得分:2)

第一行e.preventDefault();停止提交过程。您应该在其他条件中使用e.preventDefault();,以确保仅在验证失败时停止提交。

答案 1 :(得分:0)

有两种解决方案:

<强>第一 在您的代码中,您在开始时添加了e.preventDefault(),这将阻止提交表单。如果所有输入都符合您的条件,您可以通过AJAX将这些输入发送到另一个页面。

<强>第二
您可以在条件失败的任何地方添加e.preventDefault()