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 :

[JS/Acrobat] Désélectionner bouton radio


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut [JS/Acrobat] Désélectionner bouton radio
    Yop

    Je confie à vous un léger problème que je rencontre actuellement et qui est étonnamment peu documenté. Je crée en ce moment des formulaires .pdf avec Acrobat Pro X. Et je suis confronté à 2-3 petits problème avec javascript. Voilà, j'utilise à un endroit donné de mon formulaire des boutons radio, c'est à dire des boutons mutuellement exclusifs. Le soucis, c'est que une fois qu'un des boutons est sélectionné, il n'est absolument plus possible de le dé-sélectionner. On peut bien sûr choisir un autre bouton, etc. Mais impossible de revenir à une même série de boutons radios tous vierges.

    Du coup, je me suis dis qu'avec un peu de bon JS, ce doit être possible. J'ai essayé 2-3 combines, mais sans succès, ça ne fait pas exactement ce que je veux. Je pensais trouver un peu d'aide sur google mais étonnament, je ne trouve rien du tour, su ce sujet.

    Quelqu'un aurait une idée ? Je m'était dis qu'il fallait un truc du genre: "On click, si le bouton est validé, réinitialisez le champ". Mais ça marche pas, parce que le clic supplémentaire revalide le champ, donc soit le champ n'est plus sélectionnable, soit il n'est pas réinitialisé. J'ai pensé à utiliser une variable, etc, mais je pense qu'il y a plus simple....

    Par ailleurs, je voulais savoir si quelqu'un pouvait m'expliquer comment fonctionne l'événement "willCommit". J'ai beau lire et relire la document, je ne comprend pas....

    Merci d'avance de votre aide.

  2. #2
    Membre régulier Avatar de Billy KiT
    Inscrit en
    Mars 2011
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 66
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Zosma Voir le message
    Je pensais trouver un peu d'aide sur google mais étonnament, je ne trouve rien du tour, su ce sujet.
    Salut,
    Si si on en trouve plein, tapes "decocher bouton radio".
    Au départ le bouton radio n'est pas fait pour ça.
    Voici une méthode pas propre du tout mais simple qui fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <head>
    	<script type='text/javascript'>
    	function uncheck(R) {
    		radio = document.getElementById(R.id);
    		if (radio.checked)
    		setTimeout('radio.checked=false',50);
    		}
    	</script>
    </head>
    <body>
    	<form>
    		<label onmouseup="uncheck(this.firstChild)"><input type="radio" id="r1" name="rd" value="rd1" onmouseup="uncheck(this)"> Case à Cocher 1</label><br>
    		<label onmouseup="uncheck(this.firstChild)"><input type="radio" id="r2" name="rd" value="rd2" onmouseup="uncheck(this)"> Case à Cocher 2</label>
    	</form>
    </body>
    Il faut un id different pour chaque bouton, label en option

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Hello, merci de ton aide !

    Citation Envoyé par Billy KiT Voir le message
    Salut,
    Si si on en trouve plein, tapes "decocher bouton radio".
    Non, on en trouve pas tant que ça pour Acrobat. Pour JS dans HTML on en trouve mais les codes ne fonctionnent pas en général à cause des spécifications du JS d'acrobat.

    Actuellement, je suis sur un truc du genre mais il ne fonctionne pas comme je le voudrais:

    C'est sur du "onClick":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var f = this.getField("mesBoutonsRadio");
    if(f.isBoxChecked){
    stoprun=app.setTimeOut("this.resetForm('mesBoutonsRadio')", 50);
    }
    Le soucis avec ce code, c'est que quel que soit l'état de la collection des boutons radios, ils sont tous décochés, or je ne voudrais que le bouton radio coché soit décoché quand on appuie dessus.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bon, j'ai trouvé une solution qui fonctionne sans être, je pense, la plus optimale, mais je vous la met:

    En fait, sur CHAQUE bouton, lors d'un clic:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var f = this.getField("monChampBoutonRadio");
    if(f.isBoxChecked(0)){
    	stoprun=app.setTimeOut("this.resetForm('monChampBoutonRadio')", 50);
    }
    "f.isBoxChecked(x)" correspond à l'index du bouton dans le champ de bouton radio. Par exemple, si vous avez 3 boutons radio, le premier sera 0, le deuxième 1, et le troisième 2.

    Je pense que l'on pourrait utiliser une variable pour ne pas dupliquer le code mais cela suppose récupérer l'index du bouton pressé et je ne sais pas comment faire. Tant que le champ reste limité à 4-5 boutons radio, ça ne pose pas de problème.

    Voilou !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Par contre, je suis en train de me rendre compte, en faisant mes essais que le pdf ainsi crée ne fonctionne pas correctement sous des lecteurs alternatifs, comme pdfXviewer ou Evince sous Linux. Un peu ennuyeux quand. En fait, le pdf fonctionne mais pas le code JS qui ne permet pas de décocher correctement les boutons radios. Je me demande comment ça se fait...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Avez-vous essayer la méthode Adobe ?
    Pour créer un jeu de boutons radio qui s'excluent mutuellement (un seul est actif à la fois) affectez aux champs le même nom mais des valeurs d'exportation différentes.
    Çà marche tout seul, pas besoin de JS.

    Exemple :
    créer 4 boutons pour le mode de paiement

    Dans les propriétés de chaque champ
    • Dans l'onglet "Général"
    > nom de tous les boutons 'Paiment'
    • Dans l'onglet "Options"
    > valeur d'exportation
    (bouton 1) CB
    (bouton 2) Paypal
    (bouton 3) Chèque
    (bouton 4) Espèce

    > Ne mettez rien dans l'onglet "Action"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ne pas désélectionner un bouton radio
    Par rachida90 dans le forum JSF
    Réponses: 1
    Dernier message: 06/02/2014, 11h59
  2. recupérer la valeur d'un bouton radio
    Par ericmart dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/05/2008, 15h42
  3. apparition d'un chanp text au click d'un bouton radio
    Par Flobel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/11/2004, 09h34
  4. [CR]liste de boutons radio
    Par inesfonfon dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 16/09/2004, 09h04
  5. Problème de boutons radio
    Par BRAUKRIS dans le forum Composants
    Réponses: 3
    Dernier message: 03/06/2004, 02h41

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