我希望在按下提交按鈕時,如果輸入不正確(即只有字母)而不是警告(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>
您是否檢查過瀏覽器控制檯的錯誤?你在「validate」函數中得到錯誤的「isAlpha」函數的名字;如果它真的在你的代碼中那樣會產生一個錯誤。另外,「提交」變量的目的是什麼?如果要控制表單是否已提交,那是行不通的。您必須從「validate」函數返回false,以防止默認操作。 – Pointy
@Pointy請投票關閉爲錯字,然後。 –
修正爲isAlpha後,在chrome中,txt只是閃爍一會兒,然後再隱藏起來。我怎麼解決? – ABCoder