Donnez vie à vos documents numériques !
 

Conditions sur un champ texte

abracadabraPDF Forums PDF – Général Conditions sur un champ texte

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45809
    Almo
    Membre

      Bonjour,
    je suis nouveau sur ce forum (que je viens de découvrir) et n’ayant aucune notion de javascript, je rencontre des difficultés pour finaliser un formulaire.
    Après avoir un peu fouillé sur le forum et n’ayant pas trouvé la solution, je me tourne vers votre communauté pour résoudre mon problème.
    J’aimerais si possible appliquer des conditions sur un champ texte (comportant un ou des numéros).
    J’aimerais qu’un bouton radio soit coché en fonction du chiffre qui sera saisi dans ce champ.
    Soit :
    Si valeur du champ est 1, 2 ou 3 bouton radio1 coché
    Si valeur du champ est >=4 et Si valeur du champ est >=8 et Si valeur du champ est >10  bouton radio4 coché

    Voilà ! je vois bien la logique du truc, mais de là à le retranscrire en js…
    J’espère avoir été assez clair dans ma description et je vous remercie d’avance pour votre aide.

    Bonne journée
    almo

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

    Bonjour et bienvenue.

    Ce n’est pas très compliqué mais il faut surtout savoir si dans le champ texte les données sont saisies par l’utilisateur, si elle sont remplies programmatiquement (via un script), ou si les deux.

    Parce-que ça change un peu le script et son emplacement/ordre d’exécution.

    #63456
    Almo
    Membre

    Bonjour Merlin et merci.
    En fait, les données saisies dans le champ texte seront saisies uniquement par l’utilisateur.

    #63457
    Merlin
    Maître des clés

    À placer en script de validation dans le champ texte :

    Code:
    if ((event.value == 1) || (event.value == 2) || (event.value == 3)) {
    this.getField(« RADIO1 »).value = 1;
    }
    else if ((event.value >= 4) && (event.value this.getField(« RADIO2 »).value = 1;
    }
    else if ((event.value >= 8) && (event.value this.getField(« RADIO3 »).value = 1;
    }
    else if (event.value >= 10) {
    this.getField(« RADIO4 »).value = 1;
    }

    Pour que ça fonctionne il faut donner à tous les bouton-radio une valeur d’exportation de « 1 ». Il faut aussi adapter les noms des boutons-radio.

    #63458
    bebarth
    Maître des clés

    bonjour,
    pourquoi 4 noms de bouton radio ? un seul suffit avec des valeurs différentes puisqu’il ne peut y avoir qu’une seule condition requise…
    J’ai ajouté un script de touches personnalisé pour être sur de ne rentrer que des chiffres entiers !
    @+
    :bonjour:

    #63459
    bebarth
    Maître des clés

    …j’ai oublié de mettre le bouton radio en lecture seule !
    @+
    :bonjour:

    #63460
    Merlin
    Maître des clés

    Mais bon sang, mais c’est bien sur !  :oh:

    :Smiley03:

    #63461
    Almo
    Membre

    Bonjour et merci pour votre aide et pour le code… tout fonctionne parfaitement bien.  :Smiley08:
    Toutefois, il me manque encore une étape pour pouvoir finaliser mon formulaire.

    Je pose une pj pour appuyer mon explication

    En fait, je souhaiterai maintenant qu’un champ texte « total après remise » (dans mon exemple) applique une opération (une soustraction ici) en fonction du bouton radio qui aura été coché automatiquement (grâce au code que vous m’avez donné)

    en gros,
    si Bouton radio1 coché alors  total après remise = total option – Sous-total remise 0%
    ou
    si Bouton radio2 coché alors  total après remise = total option – Sous-total remise 5%
    ou
    si Bouton radio3 coché alors  total après remise = total option – Sous-total remise 10%
    ou
    si Bouton radio4 coché alors  total après remise = total option – Sous-total remise 15%

    J’ai essayé de mon côté mais sans succès… à croire que les conditions c’est pas mon truc ! :doute:

    Merci encore pour votre aide précieuse.
    Bonne journée.

    #63462
    bebarth
    Maître des clés

    bonjour,
    A mettre en script de calcul :

    Code:
    var boutonRadio=this.getField(« RADIO1 »).value;
    var totalOption=this.getField(« total option »).value;
    switch (boutonRadio) {
    case 2 :
    var remise=5;
    break;
    case 3 :
    var remise=10;
    break;
    case 4 :
    var remise=15;
    break;
    default:
    var remise=0;
    }
    this.event.target.value= totalOption-(totalOption*remise/100);

    @+
    :bonjour:

    #63463
    Almo
    Membre

    Génial ! Ça marche :extra:
    Merci bebarth et Merlin…. et longue vie a ce forum !

    Almo

    #63464
    bebarth
    Maître des clés

    …attention à ne pas mettre d’espace(s) dans les noms de champs lorsqu’on utilise le JavaScript !
    Y’en a qu’ont essayé, ils ont eu des problèmes !  :geek:

    @+
    :bonjour:

    #63465
    Almo
    Membre

    Merci pour le conseil !  :Smiley03:

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