2014-05-24 73 views
-2

我希望在按下提交按鈕時,如果輸入不正確(即只有字母)而不是警告(id =「fn_warn」)變得易受影響,但代碼不起作用。我認爲他們是getElementById的問題。 函數isAlpha檢查值是否僅限字母。getElementById怎麼回事

<!DOCTYPE HTML> 
<head> 
</head> 

<body> 
<form> 
    First name 
     <input id="first_name" type="text"/> 
      <p id="fn_warn" style=" visibility: hidden; color: red;">#Please enter a valid name...</p> 


      <input class="button" onclick="validate();" type="submit" value="Submit" /> 
      <input class="button" type="reset" /> 
</form> 
</body> 
</html> 

<script> 

function validate(){ 
var submit=false; 
var x = document.getElementById("first_name"); 
if (isAplha(x.value)){ 
    submit=true; 
} else { 
    var y = document.getElementById("fn_warn"); 
    y.style.visibility = "visible"; 
} 
} 

function isAlpha(value){ 
if (value.match(/^[A-Za-z]+$/)){ 
    return true; 
} else { 
    return false; 
} 
} 

</script> 
+4

您是否檢查過瀏覽器控制檯的錯誤?你在「validate」函數中得到錯誤的「isAlpha」函數的名字;如果它真的在你的代碼中那樣會產生一個錯誤。另外,「提交」變量的目的是什麼?如果要控制表單是否已提交,那是行不通的。您必須從「validate」函數返回false,以防止默認操作。 – Pointy

+0

@Pointy請投票關閉爲錯字,然後。 –

+0

修正爲isAlpha後,在chrome中,txt只是閃爍一會兒,然後再隱藏起來。我怎麼解決? – ABCoder

回答

0

我建議兩兩件事:修復您的錯字關於你的第if聲明說:isAplha的​​,而是,如果那並不是」修復它,檢查你的瀏覽器的控制檯是否有錯誤,當你使用JS時,這總是一個好主意。

+0

在瀏覽器控制檯中沒有錯誤,但按下提交後文本只是閃爍片刻,並再次隱藏。 – ABCoder

0

你,而不是是字母

「isAphla(x.value)」