我正在使用:
<script type="text/javascript">
$( document ).ready(function() {
$('.check').submit(function() {
var abort = false;
$('.required').each(function() {
if ($(this).val()==='') {
$(this).addClass(' error');
abort = true;
}
})
return abort;
})
});
</script>
示例HTML
<form class="check" style="font-family: Arial;" action="contact.php" method="post">
<input class="wipe required" style="font-family: Arial;" type="text" name="name" value="Full Name" />
<more input fields as above>
<more input fields as above>
<more input fields as above>
<more input fields as above>
<input class="right" style="font-family: Arial;" type="submit" value="SEND" /></form>
这将是更大的表单验证的一部分,但是没有添加错误类(尽管没有填写具有所需类的字段)。表单只是尝试提交 - 如果我添加event.preventDefault();然后表单没有提交,但仍然没有添加错误类?
jQuery在标记
之前添加答案 0 :(得分:1)
添加该类工作正常,但return
逻辑是向后的。
如果您想阻止提交,则需要返回false
...或致电event.preventDefault()
$('.check').submit(function() {
var proceed = true;
$('.required').each(function() {
if ($(this).val() === '') {
$(this).addClass(' error');
proceed = false;
}
});
return proceed;
});
.error {
background: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="check" style="font-family: Arial;" action="contact.php" method="post">
<input class="wipe required" style="font-family: Arial;" type="text" name="name" value="Full Name" />
<input class="wipe required" style="font-family: Arial;" type="text" name="age" value="" />
<input class="right" style="font-family: Arial;" type="submit" value="SEND" />
</form>