即使mvc 4无效,JQuery客户端也会继续

时间:2014-11-26 15:37:03

标签: c# jquery asp.net-mvc forms asp.net-mvc-4

脚本

$(document).ready(function () {
"use strict";
$.validator.unobtrusive.parse($("#form"));
$("#submit").on("click", function () {
    var form = $("#form");
    form.validate();
    if (form.valid()) {
    }
    return false;
});

});

HTML

        <span>Please enter the amount of orders you wish you process:</span>
    <br>
    @Html.TextBoxFor(m => m.OrderModel.AmountOfOrders, new {id = "AmountOfOrders"})
    @Html.ValidationMessageFor(m=> m.OrderModel.AmountOfOrders)

    <input type="submit" value ="Submit" id="submit" />

我似乎对脚本有问题。 C#的DataAnnotations显示在View上,但即使必填字段为空,它仍将继续到另一页。

3 个答案:

答案 0 :(得分:0)

如果没有给出按钮

type="button"

,默认为

type="submit"

考虑到您正在使用表单,当您的javascript正在执行时,表单将通过按钮单击提交。

答案 1 :(得分:0)

试试这个。

$("#submit").on("click", function (event) {
    var form = $("#form");
    form.validate();
if (form.valid()) {
}
else
{
    event.preventDefault();
    return false;

}
});

答案 2 :(得分:0)

始终对表单使用submit事件,而不是click事件。这样它就可以用于按键:

$("#submit").on("submit", function () {
    var form = $("#form");
    form.validate();
    if (form.valid()) {
        // Proceed with submit!
    }
    else {
        // Stop submit!
        return false;
    }
});