IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Vérifier si au moins une case est cochée dans checkbox


Sujet :

JavaScript

  1. #21
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Tu la place en dernier dans ton code mais c pas beau

    ET le ; derrière la function ...

    ET le return ...

  2. #22
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Non
    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.

  3. #23
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    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)

  4. #24
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Parceque sinon j'aurais fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return checkbox_selected(22,'id_region_');

  5. #25
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut False or not false....
    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...

  6. #26
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    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;
    }
    ....
    A+

  7. #27
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Fench Voir le message
    Parceque sinon j'aurais fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return checkbox_selected(22,'id_region_');
    Là, même si c'est bon, tu loupes le dernier contrôle

    A+

  8. #28
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut La solution
    Merci à tous maintenant ça fonctionne !

    Je remets le tout pour les prochains galériens ! :

    L'appel de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (! checkbox_selected(22,'id_region_'))
    return false;
    Et la fonction :
    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");
    }
    Encore merci !

  9. #29
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Un petit oubli !
    Pour rester cohérent :
    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;
    }
    A+

  10. #30
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut False : The return
    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...!

  11. #31
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut

    merci j'ai compris mon erreur avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return checkbox_selected(22,'id_region_');
    En fait je viens de comprendre de l'interêt du onsubmit="return fctdetest()" pour bien valider un formulaire.

    Voilà deux choses que j'ai appris sur ce post, c cool, merci

  12. #32
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par pasc06 Voir le message
    Tu veux dire retirer ce return ?
    Non, le rajouter : il a disparu dans ta dernière version ...

    A+

  13. #33
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut 2 "return false" valent mieux qu'1 ?
    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 ?

    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;
    }
    J'ai retiré le "return false" qui était dans la fonction et apparemment ça marche...

  14. #34
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par pasc06 Voir le message
    Bin oui mais en le retirant ça marche aussi puisqu'il y a déjà un return après l'appel de la fonction... Non ?
    Non
    Ce test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (! checkbox_selected(22,'id_region_'))
    return false;
    repose sur le fait que checkbox_selected() renvoie false quand le test est KO.
    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+

  15. #35
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Technique quand tu nous tiens...
    Oula ça devient un peu trop technique !

    Tout débutant et humble je suis...!

    Donc l'appel de 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;
    }
    Et la fonction :
    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;
    }
    Ouf...!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. comment tester si une case est cochée dans un fenêtre d'impression
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/08/2009, 16h13
  2. Vérifier qu'au moins une case est cochée
    Par zizou86 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/02/2008, 13h53
  3. Vérifier si au moins une case est cochée
    Par ozzmax dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 05/07/2007, 15h34
  4. Vérifier si une case est cochée
    Par Nadd dans le forum Langage
    Réponses: 2
    Dernier message: 24/03/2006, 18h47
  5. Réponses: 2
    Dernier message: 08/08/2005, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo