2010-07-24 45 views
0

我有一個新的函數,當按下窗體的提交按鈕時我將調用它。我正嘗試使用此驗證,而不是插件來獲取體驗。
在退出函數之前,我將如何迭代所有表單,確定它們是否全部有效。儘管如果它們全部有效,返回true並繼續,否則如果爲false,則保留isFormValid函數,直到所有表單都有效。有任何想法嗎?新功能:如何在返回true或false前迭代所有表單元素

這是我到目前爲止。

function isFormValid() { 

var valid = false; 

$('form :input').each(function() { 

var input = $(this); 
label = $(input).prev(); 

if (!$.trim(input.val()).length) { 
    label.effect('pulsate', { times : 1 }, 400).addClass('required'); 
    $(":input[value='']:not(.nofocus):visible:enabled:first").focus(); 
    valid = false; 
} 
else if (input.attr('id') == 'email') { 
    if (!isValidEmailAddress(input.val())) { 
    label.effect('pulsate', { times : 1 }, 400).addClass('invalid') 
    input.val(''); 
    $(":input[value='']:not(.nofocus):visible:enabled:first").focus(); 
    valid = false; 
    } 
    } 
}); 
} 

感謝

回答

0

明白了。只需在每次迭代之外添加並更改原始的var valid = true

if (!valid) { 
    return false; 
} 
else 
    return true; 
+0

您可以只寫'return valid;'。它與上面的代碼具有相同的含義。 – Crozin 2010-07-24 02:03:10

+0

好吧,爲此,你可以''返回有效;';) – Reigel 2010-07-24 02:05:28

相關問題