【问题标题】:Validate Form preventing form submission验证表单防止表单提交
【发布时间】:2015-02-06 11:21:25
【问题描述】:

我正在使用 asp.net MVC 5 并尝试在提交时验证表单。一切正常,直到我添加以下代码行以使用 ajax 调用验证表单。

    $('#signupform').validate({
    submitHandler: function (form) {            
        $.ajax({
            type: 'POST',
            data: JSON.stringify({ type: "WhatsNew", code: $('#PrimaryCode').val() }),
            url: '@Url.Action("CheckCode", "Home")',
            dataType: 'json',
            contentType: 'application/json'
        })
        .done(function (response) {
            if (response == 'success') {

                alert('success');
            }
            else {
                alert('failed');
            }
        });
        return false; // required to block normal submit since you used ajax
    }
});

上面的代码只是阻止了表单的提交。

【问题讨论】:

  • 您使用的是unobtrusive-validation 脚本吗?如果是这样,它已经调用了.validate() 方法,所以你不能再次调用它......它只是被忽略了。

标签: javascript jquery ajax forms jquery-validate


【解决方案1】:

您阻止 return false; 提交以对表单进行 ajax 验证,但成功验证后未提交表单。

.done()内添加表单提交触发器;

if (response == 'success') {    
    //  since validation is success, submit form here (e.g. YourForm.submit())
}

【讨论】:

  • 我尝试通过放置 $('#signupform').submit();在成功块内,但仍然没有提交表单。
【解决方案2】:

可能的遍历:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    相关资源
    最近更新 更多