Tu la place en dernier dans ton codemais c pas beau
ET le ; derrière la function ...
ET le return ...
Tu la place en dernier dans ton codemais c pas beau
ET le ; derrière la function ...
ET le return ...
Non justement je veux que les alertes s'affichent séquentiellement du haut vers le bas car le formulaire est très long.
Par exemple si l'utilisateur a oublié de renseigner plusieurs champs, ça teste le formulaire du haut vers le bas en affichant les alertes une par une. Ceci afin que l'utilisateur s'y retrouve.
Non mais plus serieusement, vu la longueur du code de ta fonction
check_box_selected et le pb qui peut avoir sur les return.
ET que peut être le return de cette function n'est pas récupéré dans ta fonction principale ...
bref je mettrais ce bout de code dans ta fonction principale et je test ...
si ça marche c que le return n'est pas récupéré.
Moi j'suis pas un expert javascript (au début ton post n'étais pas sur ce forum) je n'est pas encore utilisé de return(que 2 mois que je fais du JavaSCript)
Parceque sinon j'aurais fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return checkbox_selected(22,'id_region_');
Le False est bien récupéré puisque ça m'affiche l'alerte et que le formulaire ne va pas vers "traitement.php".
Ce qu'il faut c'est bloquer les tests suivants !
Ca marche avec les tests précédents avec un "focus". J'ai essayé de le rajouter mais ça ne bloque toujours pas l'alerte suivante...![]()
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 .... if (document.form1.id_ville.value == 0){ alert("Veuillez entrer votre ville de résidence"); return false; } if (! checkbox_selected(22,'id_region_')) return false; if ((document.form1.jour_naissance.options[0].selected) && (document.form1.jour_naissance.value == "jour")){ alert("Veuillez entrer votre jour de naissance"); return false; } ....
Merci à tous maintenant ça fonctionne !
Je remets le tout pour les prochains galériens ! :
L'appel de la fonction :
Et la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (! checkbox_selected(22,'id_region_')) return false;
Encore merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function checkbox_selected(nb,idBox) { var i; for (i=1;i<=nb;i++) { if (document.forms['form1'].elements[idBox+i].checked) return true; } alert("Veuillez entrer au moins une région ou vous exercez principalement"); }
Un petit oubli !
Pour rester cohérent :A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function checkbox_selected(nb,idBox) { var i; for (i=1;i<=nb;i++) { if (document.forms['form1'].elements[idBox+i].checked) return true; } alert("Veuillez entrer au moins une région ou vous exercez principalement"); return false; }
Tu veux dire retirer ce return ?
SI oui j'avais fait la correction ! Le mieux serait que l'on supprime nos derniers messages afin d'avoir en dernier message la solution...!
Toujours dans un souci de cohérence...!![]()
merci j'ai compris mon erreur avec
En fait je viens de comprendre de l'interêt du onsubmit="return fctdetest()" pour bien valider un formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part return checkbox_selected(22,'id_region_');
Voilà deux choses que j'ai appris sur ce post, c cool, merci![]()
Bin oui mais en le retirant ça marche aussi puisqu'il y a déjà un "return false" après l'appel de la fonction... Non ?
J'ai retiré le "return false" qui était dans la fonction et apparemment ça marche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (! checkbox_selected(22,'id_region_')){ document.form1.id_region_1.focus(); return false; }
Non
Ce testrepose sur le fait que checkbox_selected() renvoie false quand le test est KO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (! checkbox_selected(22,'id_region_')) return false;
Or elle ne renvoie plus que true ou rien.
Tu deviens donc dépendant du fait que le nav interprète comme "false" une absence de "return true", ce qui est déconseillé/dangereux/pas propre
A+
Oula ça devient un peu trop technique !
Tout débutant et humble je suis...!
Donc l'appel de la fonction :
Et la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (! checkbox_selected(22,'id_region_')){ alert("Veuillez entrer au moins une région ou vous exercez principalement"); document.form1.id_region_1.focus(); return false; }
Ouf...!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function checkbox_selected(nb,idBox) { var i; for (i=1;i<=nb;i++) { if (document.forms['form1'].elements[idBox+i].checked) return true; } return false; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager