2014-05-24 4 views
-2

Je veux qu'en appuyant sur le bouton soumettre, si l'entrée n'était pas correcte (c'est-à-dire uniquement des lettres) que l'avertissement (id = "fn_warn") devienne valide, mais le code ne fonctionne pas. Je pense que c'est un problème avec getElementById. La fonction isAlpha vérifie si la valeur est uniquement une lettre ou non.ce qui ne va pas avec 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

Avez-vous vérifié la présence d'erreurs sur la console du navigateur? Vous avez mal le nom de la fonction "isAlpha" dans la fonction "valider"; Si c'est vraiment le cas dans votre code, cela génèrera une erreur. Aussi, quel est le but de la variable "submit"? Si c'est pour contrôler si le formulaire est soumis, cela ne fonctionnera pas. Vous devez retourner 'false' de la fonction" validate "pour empêcher l'action par défaut. – Pointy

+0

@Pointy s'il vous plaît voter pour fermer comme faute de frappe, alors. –

+0

Après correction à isAlpha, en chrome le txt clignote juste un instant et devient de nouveau caché. comment puis-je résoudre cela ?? – ABCoder

Répondre

0

Je recommande deux choses: la fixation de votre faute de frappe pour votre première déclaration if qui dit isAplha au lieu de isAlpha et, si ce n » Pour résoudre ce problème, vérifiez les erreurs sur la console de votre navigateur, ce qui est toujours une bonne idée lorsque vous travaillez avec JS.

+0

Il n'y a pas d'erreurs dans la console du navigateur, mais le texte clignote juste un instant après avoir appuyé sur submit, et devient à nouveau caché. – ABCoder

0

Vous avez « isAphla (x.Value) » au lieu de IsAlpha