Donnez vie à vos documents numériques !
 

script de validation personnalisée

abracadabraPDF Forums PDF – Général script de validation personnalisée

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45819
    Ema02
    Membre

    Bonjour,
    je viens vers vous, les pros du script, car je commence à m’arracher les cheveux :Euuuh:
    je souhaiterais qu’un message s’affiche si un montant est trop élevé.
    je vous explique : l’utilisateur doit rentrer un nombre de stagiaires, un nombre de formateurs et le montant du repas payé.
    sauf que le montant du repas payé ne doit pas être supérieur à 12€ par personne
    n’ayant aucune connaissance en script, j’ai fouillé dans le forum et j’ai bidouillé avec

    if(this.getField(« TTC »).value>((« stagiaires » + « formateurs ») * 12))
    this.getField(« TTC »).value = « le montant du repas est trop élevé »
    mais ça ne fonctionne pas  :mur:
    merci d’avance

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

    Bonjour.

    Je crois qu’il faut revoir ce formulaire parce-qu’il n’y a qu’un seul champ (Total) pour afficher les résultats de plusieurs rangées.
    Ça convient pour faire un total simple mais pas s’il faut afficher un message d’erreur pour une rangée en particulier.
    Ou alors j’ai raté quelque chose…
    :doute:

    #63571
    Ema02
    Membre

    il y aura bien des champs pour chaque rangée. je n’en ai fait qu’une pour l’instant , dans l’attente de trouver la solution.

    #63572
    bebarth
    Maître des clés

    bonjour,
    Voici ma proposition :

    Code:
    var moyenne= this.event.value/(this.getField(« stagiaires »).value+ this.getField(« formateurs »).value);
    if (moyenne > 12) {
    app.alert({cMsg: »Le montant indiqué est supérieur au maximum autorisé de 12 €/personne. », nIcon:2});
    this.getField(« TTC »).setFocus();
    };

    this.getField(« TTC »).setFocus() repositionne le curseur dans le champ si la moyenne est supérieure à 12.
    @+
    :bonjour:

    #63573
    Ema02
    Membre

    génial ! c’est tout à fait le principe!
    par contre, ça m’affiche le même message si le montant est bien inférieur à 12€  :doute:

    et, en plus,  serait il possible « d’obliger » à changer le montant ?

    #63574
    bebarth
    Maître des clés

    ici le curseur retourne dans le champ, donc si l’on indique encore une mauvaise valeur on aura toujours le message d’alerte !
    @+
    :bonjour:

    #63575
    Ema02
    Membre

    par contre, ça m’affiche le même message si le montant est bien inférieur à 12€  :doute:
    et ça ne m’empêche pas d’aller dans une autre cellule

    #63576
    bebarth
    Maître des clés

    ??? pas de message pour moi !!!  :Euuuh:

    #63577
    Ema02
    Membre

    autant pour moi, je pense qu’il y a eu un beug quand j’ai voulu copier les cellules. maintenant ça fonctionne, merci beaucoup :)
    par contre, ça ne m’empêche pas de continuer à remplir les autres lignes :/

    #63578
    Merlin
    Maître des clés

    Il faut ajouter une ligne au script de bebarth pour que la valeur ne soit pas validée si elle est excessive :

    var moyenne= this.event.value/(this.getField(« stagiaires »).value+ this.getField(« formateurs »).value);
    if (moyenne > 12) {
    app.alert({cMsg: »Le montant indiqué est supérieur au maximum autorisé de 12 €/personne. », nIcon:2});
    this.getField(« TTC »).setFocus();
    event.rc = false;
    }

    #63579
    bebarth
    Maître des clés

    OK ! J’allais proposer de mettre le script en « champ désactivé ».

    Code:
    var moyenne= this.event.value/(this.getField(« stagiaires »).value+ this.getField(« formateurs »).value);
    if (moyenne > 12) {
    app.alert({cMsg: »Le montant indiqué est supérieur au maximum autorisé de 12 €/personne. », nIcon:2});
    this.event.target.value=0;
    this.getField(« TTC »).setFocus();
    };

    @+
    :bonjour:

    #63580
    bebarth
    Maître des clés

    …du coup, en script de champ désactiver, on pourrait ajouter :

    Code:
    if (this.event.value== » » || this.event.value==null) {
    app.alert({cMsg: »Vous devez obligatoirement entrer un montant. », nIcon:2});
    this.getField(« TTC »).setFocus();
    };

    pour ne pas laisser la cellule vide !
    @+
    :bonjour:

    #63581
    Ema02
    Membre

    génial !!!
    c’est tout à fait ce que je voulais
    vous êtes super !
    merci beaucoup :)

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