我有一个表单,我试图验证具有相同类的字段。需要
<form id="HotelBooking" method="post" action="#">
<input type="text" class="required" name="vardas" />
<input type="text" class="required" name="pav" />
<input type="text" class="required" name="tel" />
<input type="submit" name="sb" value="Tvirtinti" onclick="tikrinti();"/>
</form>
JS代码适用于第一个字段,它显示错误,但表单仍然提交并重置字段。
$(document).ready(function() {
$('#HotelBooking').submit(function () {
$(".required").each(function(){
if($(this).val().length == 0)
{
alert('Please Enter your value');
$(this).focus();
return false;
}
});
});
});
我做错了什么?
答案 0 :(得分:4)
您应该将return false
放在each()
之外:
$('#HotelBooking').submit(function () {
var errors = 0
$(".required").each(function(){
if( $.trim($(this).val()).length == 0) { // make sure that there is no extra whitespace
errors++
}
});
if (errors > 0) {
alert('please Enter your value for ' +errors+ 'remaining fields')
return false;
}
});
答案 1 :(得分:2)
问题是您从false
- 函数返回each()
,而不是submit()
- 函数。
这是一个修复:
$(document).ready(function () {
$('#HotelBooking').submit(function () {
var valid = true;
$('.required').each(function () {
if ($(this).val().length == 0) {
alert('Please Enter your value');
$(this).focus();
valid = false;
}
});
return valid;
});
});
编辑:Woops,为时已晚
答案 2 :(得分:0)
<script type="text/javascript">
$('#submitRegister').click( function(){
var validation = $('#connect').vValidator('validate');
Window.alert("hii");
});
</script>