Probleme dans le code
hiba124
Messages postés
4
Statut
Membre
-
hiba124 Messages postés 4 Statut Membre -
hiba124 Messages postés 4 Statut Membre -
Bonjour,
j'aimerai savoir la correction de ce code:
function validateForm(){
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
document.getElementById('mail').innerHTML="Not a valid e-mail address";
}
var element = document.getElementByName["userEmail"].value;
element.keyup=validateForm;
var myfuction=validateForm;
element.addEventListener('keyup',myfuction, false);
j'aimerai savoir la correction de ce code:
function validateForm(){
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
document.getElementById('mail').innerHTML="Not a valid e-mail address";
}
var element = document.getElementByName["userEmail"].value;
element.keyup=validateForm;
var myfuction=validateForm;
element.addEventListener('keyup',myfuction, false);
3 réponses
-
Bonjour
En fait, il n'y a pas grand chose de juste dans ton code :
1 - Où est définie la variable x utilisée dans ta fonction validateForm ?
2 - Il y avait le problème d'accolade signalé par Zephirr - Perso, j'aurais plutôt ajouté une accolade fermante, mais sa solution est valable aussi.
3 et 4 -getElementByName["userEmail"]
comporte deux erreurs : document n'a pas de méthode getElementByName. Je connais getElementById et getElementsByName (avec un "s" à Elements, et c'est logique car il peut y en avoir plusieurs qui ont le même nom). Sauf raison bien particulière, utilise toujours getElementById.
De plus, il s'agit d'une méthode, c'est à dire d'une fonction : ses paramètres doivent être mis entre parenthèses, pas entre crochets.
5 - Quand tu auras corrigévar element = document.getElementByName["userEmail"].value;
, la variable element contiendra donc une valeur (texte) et non pas un élément. Donc écrire plus loin element.keyup ou element.addEventListener est incorrect.
6 -element.keyup=validateForm;
: Ce n'est pas .keyup, mais.onkeyup
7 -var myfuction=validateForm;
ce n'est pas incorrect, mais bien inutile.
8 -element.addEventListener('keyup',myfuction, false);, ça fait double emploi avecelement.keyup=validateForm;
À part ça, je ne vois rien, ce qui ne veut pas dire qu'il n'y a pas d'autres erreurs ...
Au fait, tu sais que ton navigateur dispose d'une console javascript qui signale les erreurs ? -
Accolade en trop a la fin du if:
function validateForm(){ var atpos = x.indexOf("@"); var dotpos = x.lastIndexOf("."); if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) document.getElementById('mail').innerHTML="Not a valid e-mail address"; } var element = document.getElementByName["userEmail"].value; element.keyup=validateForm; var myfuction=validateForm; element.addEventListener('keyup',myfuction, false); -