2009-12-18 114 views
1

我通過表單元素循環檢查空字段的表單驗證功能 - 下面的代碼:使用Javascript - 返回虛假錯誤

function formValidate(ourform){ 
    var formelems = document.getElementById(ourform).elements; 

    for (var i=0; i<formelems.length; i++){ 
    if(formelems[i].value == "") { 
    alert("Empty Field(s). Please fill in all the fields."); 
    return false; 
    } 
    }  
} 

的問題是,我的形式不返回false,如果有一個空場 - 它處理表單。我已經解決了這個問題,但現在我不記得如何。

謝謝。

+1

粘貼完整的JavaScript,問題不明確 – valli

+0

您的代碼已被剝奪,請用代碼重新粘貼應用於它的示例按鈕 – rossoft

+0

也使用格式化... –

回答

3

基本上,答案是你的榜樣,你實際上並沒有返回任何東西。在Pandiya的例子中,他根據條件返回真/假。請記住,在任何還使用了return語句,甚至罵你正在使用,可能在你的榜樣將是

<form blah blah blah onsubmit="return formValidate(this)"> 
+0

我有多愚蠢,我忘了在表單中添加'return'部分。謝謝喬恩。 –

+0

沒問題的人,我做了那麼多次。盯着一段代碼太久,你無法用新鮮的眼睛看它。你要標記答案? – user48202

+0

已經做到了。 –

0

海試試這個,

function checkForEmpties(form) { 
var i; 
var formElements = form.elements; 


for (i=0; i<formElements.length; i++) 
    { 
    if (formElements[i].type == "text") { 
     if (formElements[i].value != "") { 
      return true; 
      break; 
     } 
    } 
    else if (formElements[i].type == "checkbox") { 
     if (formElements[i].checked) { 
      return true; 
      break; 
     } 
    } 

} 
return false; 
    } 
+0

爲什麼「打破」? – Victor