2014-05-24 37 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)”