abracadabraPDF › Forums › PDF – Général › Cocher plusieurs cases si l’une d’entre elles est cochée, et inversement. › Répondre à : Cocher plusieurs cases si l’une d’entre elles est cochée, et inversement.
Salut. Je suis de retour, après beaucoup de temps sans avoir la possibilité d’en prendre pour ce petit “exercice” beaucoup moins urgent que le reste. À vrai dire avant hier, j’avais même perdu le sujet de vue et posté de nouveau ailleurs, avec progression, ce que je m’empresse de rajouter ici après vous avoir retrouvés.
(désolé de l’abandon de quasi deux mois :Smiley11: mais même si je n’aime pas faire ça, j’avais vraiment autre chose à faire de mes mains)
Voici ou j’en suis :
En éditant des exemples, dont un pdf abracadabratools et en les testant je suis parvenu à un code identique à celui du forum externe. En cocher plusieurs avec étant possible simplement pour moi en ajoutant le même code à plusieurs reprise :
Premièrement, une petite note qui pourrait en aider certains, on avait vu que moi même je ne savais pas au départ où aller dans Acrobat (j’utilise toujours le 11 chez un ami):
En édition de formulaire, clic droit sur la box concernée, propriété, actions, dans les deux menus déroulants du cadre “ajouter une action”, choisir pour déclencheur “mouse up”(je ne suis pas sur de ce que cela donnerait dans une version française, ça correspond à la remontée du bouton de souris), et pour action “executer javascript”, puis cliquez sur ajouter. Un champ de texte s’ouvre directement pour écrire le script désiré. Ici :
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox2”).checkThisBox(0,false);}[/CODE]
…
etc etc selon le nombre à cocher, ici deux, “chekbox1” et “checkbox2”.
Code provenant de http://forums.mediabox.fr/topic/179510-cocher-une-checkbox-avec-javascript/
Seulement j’ai depuis trois buts supplémentaires à ma première et simple intention de multichecker … Et comme je cherche à apprendre des bases, il y s’en ajoutera probablement avec d’autres sujets ne pouvant être liés à celui ci 🙂
1- Le premier puisque je risque de renouveler l’expérience, et avec moult moult cases, ce serait de savoir rendre tout ça plus compacte. Au moins gagner quelques lignes sur les box scripts les plus longs. J’ai bien essayé des choses comme :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
et :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
&
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
&
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
ou encore :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,false);}
[/CODE]
Et bien d’autres, qui montrent juste que je patouille en variant une syntaxe que je ne maitrise évidement pas même si je cherche à comprendre un maximum de sa théorie sans avoir de support. Réduire ce code est-il seulement possible ?
2- Le second but, je l’avais déjà donné, c’est de faire l’inverse du code original ! C’est à dire qu’une case soit cochée si deux autres ou plus le sont. Le modèle rétroactif du premier.
Là aussi j’ai tâtonné, en réutilisant le matériel trouvé sur d’autres scripts d’abord en cherchant à le faire avec une seule … ce qui, ne savant pas beaucoup voir rien et ne trouvant pas d’équivalent, n’a bien sur pas porté ses fruits.
J’ai par exemple du faire des machins comme suit, tentant même d’écrire quelque-chose (uncheckThisBox ^^) que je n’avais pas vu mais qui pourrait exister :
[CODE]
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1—–
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox2”).checkThisBox(0,false);}[/CODE]
…
etc etc selon le nombre à cocher, ici deux, “chekbox1” et “checkbox2”.
Code provenant de http://forums.mediabox.fr/topic/179510-cocher-une-checkbox-avec-javascript/
Seulement j’ai depuis trois buts supplémentaires à ma première et simple intention de multichecker … Et comme je cherche à apprendre des bases, il y s’en ajoutera probablement avec d’autres sujets ne pouvant être liés à celui ci
1- Le premier puisque je risque de renouveler l’expérience, et avec moult moult cases, ce serait de savoir rendre tout ça plus compacte. Au moins gagner quelques lignes sur les box scripts les plus longs. J’ai bien essayé des choses comme :
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
et :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
&
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
&
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
ou encore :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,false);}
[/CODE]
Et bien d’autres, qui montrent juste que je patouille en variant une syntaxe que je ne maitrise évidement pas même si je cherche à comprendre un maximum de sa théorie sans avoir de support. Réduire ce code est-il seulement possible ?
2- Le second but, je l’avais déjà donné, c’est de faire l’inverse du code original ! C’est à dire qu’une case soit cochée si deux autres ou plus le sont. Le modèle rétroactif du premier.
Là aussi j’ai tâtonné, en réutilisant le matériel trouvé sur d’autres scripts d’abord en cherchant à le faire avec une seule … ce qui, ne savant pas beaucoup voir rien et ne trouvant pas d’équivalent, n’a bien sur pas porté ses fruits.
J’ai par exemple du faire des machins comme suit, tentant même d’écrire quelque-chose (uncheckThisBox ^^) que je n’avais pas vu mais qui pourrait exister :
[CODE]
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1—–
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
et :
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
&
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
&
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
ou encore :
[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,false);}
[/CODE]
Et bien d’autres, qui montrent juste que je patouille en variant une syntaxe que je ne maitrise évidement pas même si je cherche à comprendre un maximum de sa théorie sans avoir de support. Réduire ce code est-il seulement possible ?
2- Le second but, je l’avais déjà donné, c’est de faire l’inverse du code original ! C’est à dire qu’une case soit cochée si deux autres ou plus le sont. Le modèle rétroactif du premier.
Là aussi j’ai tâtonné, en réutilisant le matériel trouvé sur d’autres scripts d’abord en cherchant à le faire avec une seule … ce qui, ne savant pas beaucoup voir rien et ne trouvant pas d’équivalent, n’a bien sur pas porté ses fruits.
J’ai par exemple du faire des machins comme suit, tentant même d’écrire quelque-chose (uncheckThisBox ^^) que je n’avais pas vu mais qui pourrait exister :
[CODE]
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1—–
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1”).checkThisBox(0,true);}
&
{this.getField(“CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1”).checkThisBox(0,false);}
&
{this.getField(“CheckBox2”).checkThisBox(0,false);}
[/CODE]
ou encore :
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,false);}
[/CODE]
Et bien d’autres, qui montrent juste que je patouille en variant une syntaxe que je ne maitrise évidement pas même si je cherche à comprendre un maximum de sa théorie sans avoir de support. Réduire ce code est-il seulement possible ?
2- Le second but, je l’avais déjà donné, c’est de faire l’inverse du code original ! C’est à dire qu’une case soit cochée si deux autres ou plus le sont. Le modèle rétroactif du premier.
Là aussi j’ai tâtonné, en réutilisant le matériel trouvé sur d’autres scripts d’abord en cherchant à le faire avec une seule … ce qui, ne savant pas beaucoup voir rien et ne trouvant pas d’équivalent, n’a bien sur pas porté ses fruits.
J’ai par exemple du faire des machins comme suit, tentant même d’écrire quelque-chose (uncheckThisBox ^^) que je n’avais pas vu mais qui pourrait exister :
[CODE]
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1—–
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …[CODE]
if (event.target.isBoxChecked(0))
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,true);}
else
{this.getField(“CheckBox1″&”CheckBox2”).checkThisBox(0,false);}
[/CODE]
Et bien d’autres, qui montrent juste que je patouille en variant une syntaxe que je ne maitrise évidement pas même si je cherche à comprendre un maximum de sa théorie sans avoir de support. Réduire ce code est-il seulement possible ?
2- Le second but, je l’avais déjà donné, c’est de faire l’inverse du code original ! C’est à dire qu’une case soit cochée si deux autres ou plus le sont. Le modèle rétroactif du premier.
Là aussi j’ai tâtonné, en réutilisant le matériel trouvé sur d’autres scripts d’abord en cherchant à le faire avec une seule … ce qui, ne savant pas beaucoup voir rien et ne trouvant pas d’équivalent, n’a bien sur pas porté ses fruits.
J’ai par exemple du faire des machins comme suit, tentant même d’écrire quelque-chose (uncheckThisBox ^^) que je n’avais pas vu mais qui pourrait exister :
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1—–
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …[CODE]
if (getField(“CheckBox1”).isBoxChecked)
{checkThisBox(0);}
else
{uncheckThisBox(0);}
[/CODE]
3- Et pour finir, un détail me contrarie dans l’utilisation du code de ce sujet :
Comme vu précédemment, on peut comparer ce que je cherche à faire à une arborescence. Pour rappel :
Checkbox0—
|
| |–Checkbox3
Checkbox1
| |–Checkbox4
|
Checkbox2
|
|
etc…
La “racine”, Checkbox0 cochant TOUT (ça c’est possible et fait mais j’aimerai nuancer), Checkbox1 cochant Checkbox3 et 4 (même envie de performance) … (Mais)
En utilisant le code que nous avons :
– Si je fais le choix de n’activer automatiquement QUE Checkbox1 et Checkbox2 quand je coche manuellement Checkbox0 grâce au code contenu par celle ci.
– Et si Checkbox3 et Checkbox4 s’activent de la même manière en cochant Checkbox1 …
– Ici, le problème reste que Checkbox3 et Checkbox4 ne se cochent pas automatiquement lorsque Checkbox1 est activée par Checkbox0.
Savons nous à l’avance si il est possible d’en venir jusqu’à ce cochage de box en cascade ou est-ce un oubli de la part d’Adobe ? J’espère que ce point 3- puisse être résolu par le point 2- en ajoutant le code y correspondant à ces cases 3 et 4 récalcitrantes.
Pour ces trois questionnements, je suis toujours preneur de réponse allant de la résolution ex nihilo (Dixitque Deus: “Fiat JavaScriptus !” Et facta est JavaScriptus. Alleluia !!) sans que je n’y comprenne rien ce qui serait dommage, à l’aide simple, en passant par la correction, les travaux dirigés ^^, des références, au conseil de tutoriaux. En plus de ce que je peux trouver ici, je commence à en lire ailleurs, par exemple sur 3schools qui se trouve en haut de ma liste.
Cordialement.
Ps: Arf pas de balises spoiler pour tasser …