2013-11-02 145 views
0

我使用javascript進行表單驗證,但是在提交之後,返回false的代碼仍然提交表單。我在其他主題中使用了「修復」,但表單仍提交。Javascript驗證:返回false不工作,表單仍然提交

這裏是我的代碼:

function CheckFormi() { 
    var lh = document.getElementById('op').value; 
    var ph = document.getElementById('oc').value; 
    var lb = document.getElementById('dp').value; 

    if (lh == "País" || ph == "Codiga postal" || lb == "País") { 
     if (lf == "País") { 
      document.getElementById('op').style.border = "solid 1px #FF0000"; 
     } 
     if (ph == "Codiga postal") { 
      document.getElementById('oc').style.border = "solid 1px #FF0000"; 
     } 
     if (lb == "País") { 
      document.getElementById('dp').style.border = "solid 1px #FF0000"; 
     } 
     alert('error'); 
     return false; 
    } else { 
     document.getElementById('a').submit(); 
    } 
} 

這是我如何調用該函數:

<form action="processor.php" method="post" id="a" onsubmit="return CheckFormi()">\ 

任何幫助將不勝感激,提前

的感謝!

+0

我忘了提及檢查工作,它確實顯示警報,但仍然收益 – Nick

回答

1

你必須要在這一行錯誤:(?lh而定)

if (lf == "País") { 

變量lf可能不存在。這可以解釋爲什麼你的警報不顯示。

+0

嘿dooxe,謝謝你,解決了!那是多麼愚蠢的錯誤。什麼讓我失望的是,這個警報實際上正在顯示。非常感謝您的銳利眼睛! – Nick

+0

不客氣;)我很高興它現在有效! – dooxe

1

也許你應該使用'event.preventDefault();'而不是'返回false'。在即,你應該使用event.returnValue = false ;.

相關問題