Donnez vie à vos documents numériques !
 

Cases à cocher obligatoires

abracadabraPDF Forums PDF – Général Cases à cocher obligatoires

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45264
    micka92
    Membre

    Bonjour.

    J’ai un groupement de 4 cases à cocher (1 ou plusieurs choix possibles). Je les ai toutes mises obligatoires et j’ai mis en place par case un script qui enlève la propriété obligatoire aux 4 autres si cette première est cochée. Cependant, si ce n’est pas le cas, j’ai dû mettre comme condition de toutes les rendre obligatoires. Cela me pose problème si jamais l’utilisateur coche une première case puis une seconde par erreur qu’il souhaite décocher. La première case déjà cochée redevient obligatoire. La seule solution pour l’utilisateur est de la décocher et la cocher à nouveau.

    Avez-vous une solution afin que le script ne remette pas en obligatoire les cases déjà cochées ?

Affichage de 25 réponses de 1 à 25 (sur un total de 25)
  • Auteur
    Réponses
  • #59719
    Merlin
    Maître des clés

    Bonjour.

    A priori je prendrais le problème dans l’autre sens : un script qui attribue la propriété obligatoire aux 4 autres si cette première n’est pas cochée.
    Mais pour bien faire il faudrait avoir un exemple…

    #59720
    bebarth
    Maître des clés

    Bonjour,
    voici un script pour attribuer la priorité obligatoire aux 4 cases suivantes, lorsque la première est cochée.
    @+
    :bonjour:

    #59721
    micka92
    Membre

    Bonjour.

    A priori je prendrais le problème dans l’autre sens : un script qui attribue la propriété obligatoire aux 4 autres si cette première n’est pas cochée.
    Mais pour bien faire il faudrait avoir un exemple…

    Ci-joint l’exemple.

    #59722
    micka92
    Membre

    Bonjour,
    voici un script pour attribuer la priorité obligatoire aux 4 cases suivantes, lorsque la première est cochée.
    @+
    :bonjour:

    Bonjour.

    Merci pour le script.

    Dans mon cas en fait, j’ai 5 cases à cocher et il faut au moins que l’une d’entre elles soit cochée.

    #59723
    bebarth
    Maître des clés

    c’est pas tout à fait le même problème…
    :bonjour:

    #59724
    bebarth
    Maître des clés

    voici 2 scripts, tels que j’ai compris les problèmes…
    @+
    :bonjour:

    #59725
    micka92
    Membre

    Merci à tous mais je vais tenter d’expliquer au mieux mon besoin :
    – 5 cases à cocher avec propriété “Obligatoire”
    – dans mon formulaire, au moins une case doit être cochée
    – le script dans mon exemple permet d’enlever la propriété “Obligatoire” de toutes les cases à cocher si l’une d’elles est cochée > Parfait !
    – si on coche une case puis on la décoche, le script permet de les rendre à nouveau toutes obligatoires > Parfait !
    – le problème commence si on coche 2 cases puis on en décoche une, alors le script les rend toutes obligatoires > Hic !

    #59726
    micka92
    Membre

    Je ne sais pas si ceci fonctionnerait :
    – mettre une valeur d’exportation de 1 pour chaque case à cocher
    – les rendre toutes obligatoire par défaut
    – créer un script sur chaque case à cocher qui enlèverait la propriété “Obligatoire” si la somme des valeurs d’exportation est supérieure ou égale à 1 et qui la remettrait si elle est égale à 0

    Si cela est faisable, je ne vois pas trop comment mettre en pratique le script…

    #59727
    Merlin
    Maître des clés

    Bonjour.

    Voici un exemple qui fonctionne pour la première case, il faudra le modifier en conséquence pour l’adapter aux autres (il n’y a que les noms de champs à adapter).
    Avec en prime un retour Console parce-que le changement d’état de la propriété required ne saute pas aux yeux.

    if (event.target.isBoxChecked(0))
    {
    this.getField(“cc2”).required = false;
    this.getField(“cc3”).required = false;
    this.getField(“cc4”).required = false;
    this.getField(“cc5”).required = false;
    }
    else
    {
    this.getField(“cc2”).required = true;
    this.getField(“cc3”).required = true;
    this.getField(“cc4”).required = true;
    this.getField(“cc5”).required = true;
    }
    //
    // retour Console à supprimer
    console.clear();
    console.show();
    console.println(“Valeur Required du champ cc2 = ” + this.getField(“cc2”).required);
    console.println(“Valeur Required du champ cc3 = ” + this.getField(“cc3”).required);
    console.println(“Valeur Required du champ cc4 = ” + this.getField(“cc4”).required);
    console.println(“Valeur Required du champ cc5 = ” + this.getField(“cc5”).required);

    #59728
    bebarth
    Maître des clés

    …n’y a-t-il pas confusion entre propriété “obligatoire” qui nécessite une valeur pour le champ et “case obligatoirement cochée” ???

    :doute:

    #59729
    micka92
    Membre

    Bonjour.

    Voici un exemple qui fonctionne pour la première case, il faudra le modifier en conséquence pour l’adapter aux autres (il n’y a que les noms de champs à adapter).
    Avec en prime un retour Console parce-que le changement d’état de la propriété required ne saute pas aux yeux.

    if (event.target.isBoxChecked(0))
    {
    this.getField(“cc2”).required = false;
    this.getField(“cc3”).required = false;
    this.getField(“cc4”).required = false;
    this.getField(“cc5”).required = false;
    }
    else
    {
    this.getField(“cc2”).required = true;
    this.getField(“cc3”).required = true;
    this.getField(“cc4”).required = true;
    this.getField(“cc5”).required = true;
    }
    //
    // retour Console à supprimer
    console.clear();
    console.show();
    console.println(“Valeur Required du champ cc2 = ” + this.getField(“cc2”).required);
    console.println(“Valeur Required du champ cc3 = ” + this.getField(“cc3”).required);
    console.println(“Valeur Required du champ cc4 = ” + this.getField(“cc4”).required);
    console.println(“Valeur Required du champ cc5 = ” + this.getField(“cc5”).required);

    Si je ne me trompe, ton script est le même que celui de mon exemple (hormis pour la partie console). De ce fait, si je coche 2 cases et que j’en décoche une, elles repassent avec la propriété “Obligatoire”.

    #59730
    Merlin
    Maître des clés

    …n’y a-t-il pas confusion entre propriété “obligatoire” qui nécessite une valeur pour le champ et “case obligatoirement cochée” ???

    Pour le coup c’est pareil, une case-à-cocher ou un bouton-radio n’a de valeur (valeur d’exportation) que s’il est coché, sinon il est “Off”.

    #59731
    Merlin
    Maître des clés

    Si je ne me trompe, ton script est le même que celui de mon exemple

    Je dois t’avouer que je ne l’ai même pas regardé…
    :Ooops:  :geek:

    #59732
    micka92
    Membre

    Je dois t’avouer que je ne l’ai même pas regardé…
    :Ooops:  :geek:

    En tout cas, si tu me proposes le script que j’avais déjà fait, c’est que je m’améliore  :Smiley15: .

    L’inconvénient reste le cas où tu as déjà au moins 2 cases de cochées et que tu souhaites en décocher une. Elles passent toutes avec la propriété “Obligatoire” alors qu’il en reste à minima une de cochée.

    Et mon idée d’utiliser la valeur d’exportation ? Est-elle viable ?

    #59733
    micka92
    Membre

    J’ai réussi à résoudre mon problème en ajoutant une condition qui vérifie si au moins une des cases à cocher a la propriété “Obligatoire”.

    Si oui, rien ne se passe et je n’attribue donc aucune propriété “Obligatoire” à mes cases à cocher. Si non, je leur attribue à toutes la propriété “Obligatoire”.

    J’espère que vous comprenez mon charabia… :jerisjaune:

    Si oui, tant mieux !  :bonjour:
    Si non, je sors  :fleche:

    #59734
    Merlin
    Maître des clés

    Du moment que ça fonctionne…
    :joker:

    #59735
    bebarth
    Maître des clés

    Bonjour,
    Effectivement, du moment que ça résout le problème !

    Pour le coup c’est pareil, une case-à-cocher ou un bouton-radio n’a de valeur (valeur d’exportation) que s’il est coché, sinon il est “Off”.

    …mais pour moi ce n’est quand même pas tout à fait la même chose : une case à cocher peut ou ne pas être obligatoire, sans être ou en étant cochée. Dans ce problème soumis, on n’utilise apparemment pas la valeur d’exportation, on vérifie juste si la case en cochée, je me trompe ??? D’ailleurs, je ne comprend pas très bien la propriété “Obligatoire” pour une case à cocher sans valeur d’exportation : soit elle est cochée, soit elle ne l’est pas !
    @+

    :doute:

    #59736
    Merlin
    Maître des clés

    Elle doit être obligatoirement cochée, indépendamment de sa valeur d’exportation.

    Quand on leur donne le même nom et des valeurs d’exportation différentes les cases-à-cocher se comportent presque comme des boutons-radio : une seule coche possible, mais on peut décocher contrairement aux boutons-radio

    Dans ce cas l’obligation à plus de sens (il est obligatoire de cocher oui ou non ou peut-être).

    #59737
    micka92
    Membre

    Bonjour,
    Effectivement, du moment que ça résout le problème !
    …mais pour moi ce n’est quand même pas tout à fait la même chose : une case à cocher peut ou ne pas être obligatoire, sans être ou en étant cochée. Dans ce problème soumis, on n’utilise apparemment pas la valeur d’exportation, on vérifie juste si la case en cochée, je me trompe ??? D’ailleurs, je ne comprend pas très bien la propriété “Obligatoire” pour une case à cocher sans valeur d’exportation : soit elle est cochée, soit elle ne l’est pas !
    @+

    :doute:

    Cela a pour moi deux avantages :
    – permettre à l’utilisateur du fichier de voir les cases à cocher obligatoires encadrés en rouge
    – simplifier le script en contrôlant automatiquement les cases à cocher avec propriété “Obligatoire” plutôt que de créer une ligne par case

    #59738
    micka92
    Membre

    Je tourne en rond sur un autre point.

    Je souhaite qu’un script coche une case à cocher.

    J’ai pensé à utiliser

    Code:
    this.getField(“caseacocher”).isBoxChecked(0)

    ou

    Code:
    this.getField(“caseacocher”).checkThisBox(true)

    ou encore

    Code:
    this.getField(“caseacocher”).value = “On”


    mais rien ne fonctionne !

    #59739
    Merlin
    Maître des clés

    this.getField(“caseacocher”).checkThisBox(true)

    Celui-ci est presque bon, il manque juste le numéro d’ordre de la case et l’égalité :

    this.getField(“caseacocher”).checkThisBox(0) = true;

    #59740
    micka92
    Membre

    Celui-ci est presque bon, il manque juste le numéro d’ordre de la case et l’égalité :

    this.getField(“caseacocher”).checkThisBox(0) = true;

    Merci Merlin !

    #59741
    micka92
    Membre

    :mur:

    Code:
    if (condition1)
    {
        if (condition2)
        {
        action1
        }
        else
        {
        action2
        }
    action3
    }
    else
    {
    action 4
    }

    Je ne comprends pas pourquoi l’action 3 ne se déclenche plus depuis que j’ai intégré un deuxième “if”…  :mur:

    #59742
    micka92
    Membre

    Après m’être cassé la tête pendant de longs moments, j’ai trouvé la raison du bug… :oh:

    En fait, toutes les actions du scripts suivant la ligne

    Code:
    this.getField(“caseacocher”).checkThisBox(0) = true;

    ne fonctionnaient pas. En passant cette ligne à la fin, tout fonctionne parfaitement.

    Aimant comprendre le pourquoi des choses, j’aimerais que quelqu’un m’éclaire  :idee:

    #59743
    Merlin
    Maître des clés

    Ben, faute de voir le reste du script et son contexte ça va être difficile.

Affichage de 25 réponses de 1 à 25 (sur un total de 25)
  • Vous devez être connecté pour répondre à ce sujet.