Probleme dans le code
hiba124
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
hiba124 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
hiba124 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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);
A voir également:
- Probleme dans le code
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
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 -
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é
6 -
7 -
8 -
À 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 ?
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 avec
element.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);