无法使用click事件检查必填字段

时间:2011-09-10 22:18:32

标签: jquery html post validation

我正在尝试在用户单击表单按钮后检查输入字段的值,但是它没有进入输入循环来检查必填字段。这不适用于点击事件吗?这就是我所说的

$('#submit_button').click(function(){

    var formValid = true;

    $(".required input").each(function(){
        if ($.trim($(this).val()).length == 0){
            $(this).addClass("error_msg");
            formValid = false;
        }
        else{
            $(this).removeClass("error_msg");
        }
    });
    // post form if no errors are seen

});

我的输入HTML如下所示:

<input class="required" type="text" value="" name="test" id='test_id' size="80"/>

我错过了什么?这似乎应该有用......

3 个答案:

答案 0 :(得分:4)

尝试

$("input.required")

而不是

$(".required input")

您可以使用jQuery submit函数提交表单:

$('#submit_button').click(function(){

    var formValid = true;

    $("input.required").each(function(){
        if ($.trim($(this).val()).length == 0){
            $(this).addClass("error_msg");
            formValid = false;
        }
        else{
            $(this).removeClass("error_msg");
        }
    });

    if(formValid) $('#yourForm').submit();
    else return false; //if the button is a submit
});

答案 1 :(得分:1)

请改用$('input.required')。 如果您使用$('.required input'),它将在input类中查找任何.required元素。在这种情况下,没有。

答案 2 :(得分:0)

您需要使用event.preventDefault()来阻止表单提交。