0

我正在使用此代码进行表单验证,

$("#btnaddregistration").live("click", function(e) {
    e.preventDefault();
    var errorCount = 0;
    $("#formaddregistration").find("input").each(function(i) {
        if ($(this).val().length == 0) {
            errorfield = $(this);
            errorCount++;
            $("#modaldialogtext").text("'" + $(this).parent().parent().find("label").text() + "' cannot be left blank.");
            $("#modal_confirmation").dialog("open");
            return false;
        }
    });
    if (errorCount > 0) {
        return false;
    } else {
        document.forms["formaddregistration"].submit();
    }
});​

但是表单没有提交。我已经使用了所有可能的提交方法,但我失败了。知道我哪里错了吗?

4

1 回答 1

-1

首先,您可以大大改进您的代码,这将有助于您进行故障排除。

如果表单没有提交,请确保选择器确实在工作,即尝试类似的方法$form.hide(),看看它是否隐藏,以确保它不是 PEBCAK

var $form = $("#formaddregistration");
$("#btnaddregistration").on("click", function(e) {
    var errorCount = 0;


    $form.find("input").each(function(i) {
        var $this = $(this);
        if ($this.val().length < 1) {
            errorCount++;

            // this line also needs improving..
            $("#modaldialogtext").text("'" + $this.parent().parent().find("label").text() + "' cannot be left blank.");
            $("#modal_confirmation").dialog("open");
            return false;
        }
    });

    if (errorCount < 1) {
        $form.submit();
    }

    return false;
});​
于 2012-12-04T20:57:31.617 回答