我收到了这段代码
$(function(){
$('form.register input[type=text], .search input').ToggleInputValue();
$('#next').click(function() {
$('form.register input[type=text]').each(function(index) {
if(!$(this).hasClass('valid')){
$('.note').append('<p>Alla fält har inte blivit korrekt fylda</p>')
return false;
}
});
$('.register').submit();
});
});
事情是我不希望表单获得提交,如果有任何字段没有有效的类,我认为返回false会这样做但它没有
答案 0 :(得分:5)
正如ipr101所提到的,return false
不会退出该功能。实现结果的更有效方法如下所示。使用:not(.valid)
检查是否存在没有类valid
的任何输入元素。
$(function(){
$('form.register input[type=text], .search input').ToggleInputValue();
$('#next').click(function() {
// If there's at least one element without class valid
if($('form.register input[type=text]:not(.valid)').length > 0) {
$('.note').append('<p>Alla fält har inte blivit korrekt fylda</p>')
}
else { //All elements are valid, submit
$('.register').submit();
}
});
});
答案 1 :(得分:3)
return false;
只会退出each
循环,而不会退出整个函数。如果找到包含无效类的字段,则可以将布尔值设置为false,如果值为true,则只提交表单。
答案 2 :(得分:0)
此外,你可以试试这个:
$(function(){
$('form.register input[type=text], .search input').ToggleInputValue();
$('#next').click(function() {
var zero = 0;
$('form.register input[type=text]').each(function(index) {
if(!$(this).hasClass('valid')){
$('.note').append('<p>Alla fält har inte blivit korrekt fylda</p>')
zero++;
}
});
if(0 == zero) {
$('.register').submit();
} else {
// return false; /* if you still need */
}
});
});