我正在尝试在用户单击表单按钮后检查输入字段的值,但是它没有进入输入循环来检查必填字段。这不适用于点击事件吗?这就是我所说的
$('#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"/>
我错过了什么?这似乎应该有用......
答案 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()来阻止表单提交。