Javascript -concaténation dans une fonction
Ddjo
-
stephane_mc2004 Messages postés 755 Date d'inscription Statut Membre Dernière intervention -
stephane_mc2004 Messages postés 755 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà j'essaye d'apprendre le javascript, en utilisant des programmes existants.
J'ai récupéré une fonction de vérification des champs d'un formulaire sur un site que je me dois de citer:
http://wiki.mediabox.fr/tutoriaux/javascript/verifier-les-champs-formulaire-colorer-les-champs-faux
La fonction se présente sous la forme suivante :
function check() {
var msg = "";
//Vérification du mail s'il n'est pas vide on vérifie le . et @
if (document.formulaire.mail.value != "") {
indexAroba = document.formulaire.mail.value.indexOf('@');
indexPoint = document.formulaire.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
//dans le cas ou il manque soit le . soit l'@ on modifie la couleur d'arrière plan du champ mail et définissons un message d'alerte
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Le mail est incorrect\n";
}
}
//Notre champs mail est vide donc on change la couleur et on défini un autre message d'alerte
else {
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Veuillez saisir votre mail.\n";
}
.........................etc
}
Cette fonction se rapporte donc à un formulaire, dont le nom est "formulaire". J'aimerais pouvoir utiliser cette fonction pour plusieurs formulaires, donc en créant une variable du nom du formulaire.
J'ai donc pensé à ça :
function check(form) {
var msg = "";
if (document.form.mail.value != "") {
indexAroba = document.form.mail.value.indexOf('@');
indexPoint = document.form.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
document.form.mail.style.backgroundColor = "#F3C200";
msg += "Le mail est incorrect\n";
}
}
else {
document.form.mail.style.backgroundColor = "#F3C200";
msg += "Veuillez saisir votre mail.\n";
......
}
Mais le document.form.mail.style ne marche pas, j'ai essayé toutes les concaténations possibles, document.'+form+'.mail.style, document.",form,".mail.style.... et j'avoue que je bloque un peu.
Si quelqu'un sait, et j'espère parce que ça doit être assez évident quand on connait un minimum le javascript...
Merci !
Voilà j'essaye d'apprendre le javascript, en utilisant des programmes existants.
J'ai récupéré une fonction de vérification des champs d'un formulaire sur un site que je me dois de citer:
http://wiki.mediabox.fr/tutoriaux/javascript/verifier-les-champs-formulaire-colorer-les-champs-faux
La fonction se présente sous la forme suivante :
function check() {
var msg = "";
//Vérification du mail s'il n'est pas vide on vérifie le . et @
if (document.formulaire.mail.value != "") {
indexAroba = document.formulaire.mail.value.indexOf('@');
indexPoint = document.formulaire.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
//dans le cas ou il manque soit le . soit l'@ on modifie la couleur d'arrière plan du champ mail et définissons un message d'alerte
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Le mail est incorrect\n";
}
}
//Notre champs mail est vide donc on change la couleur et on défini un autre message d'alerte
else {
document.formulaire.mail.style.backgroundColor = "#F3C200";
msg += "Veuillez saisir votre mail.\n";
}
.........................etc
}
Cette fonction se rapporte donc à un formulaire, dont le nom est "formulaire". J'aimerais pouvoir utiliser cette fonction pour plusieurs formulaires, donc en créant une variable du nom du formulaire.
J'ai donc pensé à ça :
function check(form) {
var msg = "";
if (document.form.mail.value != "") {
indexAroba = document.form.mail.value.indexOf('@');
indexPoint = document.form.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
document.form.mail.style.backgroundColor = "#F3C200";
msg += "Le mail est incorrect\n";
}
}
else {
document.form.mail.style.backgroundColor = "#F3C200";
msg += "Veuillez saisir votre mail.\n";
......
}
Mais le document.form.mail.style ne marche pas, j'ai essayé toutes les concaténations possibles, document.'+form+'.mail.style, document.",form,".mail.style.... et j'avoue que je bloque un peu.
Si quelqu'un sait, et j'espère parce que ça doit être assez évident quand on connait un minimum le javascript...
Merci !
A voir également:
- Javascript -concaténation dans une fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Telecharger javascript - Télécharger - Langages
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
1 réponse
C'est normal que ça ne marche pas, car les noms des objets pareils s'y retrouvent...
crée plutôt une fonction
et le nomFormulaire va etre remplacé par le nom du formulaire que tu va utiliser, mail sera utiliser pour designer le champ de e mail dans le nouveau formulaire.
crée plutôt une fonction
function check(nomFormulaire,mail) { ... .. }
et le nomFormulaire va etre remplacé par le nom du formulaire que tu va utiliser, mail sera utiliser pour designer le champ de e mail dans le nouveau formulaire.