Donnez vie à vos documents numériques !
 

Champs obligatoires avant l’envoi d’email autre que texte.

abracadabraPDF Forums PDF – Général Champs obligatoires avant l’envoi d’email autre que texte.

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46527
    Minautore
    Membre

    Bonjour,

    Je profite de ce post pour remercier la communauté de lire et répondre aux demandes multiples, c’est vraiment sympa de la part de tout les intervenants.

    J’ai cherché, peut être mal, la réponse à ma question.

    Comment inclure le contrôle des champs autres que texte avant l’envoi du formulaire?

    J’utilise le script suivant: (merci abracadabrapdf :joker: )

    var lesChamps=new Array();
    var leTexte=””;
    for (var i=0; i var nomChamp=this.getNthFieldName(i);
    var f=this.getField(nomChamp);
    try {
    if (f.required=”true” && f.value==””) lesChamps.push(nomChamp);
    } catch(e) {}
    }
    for (var i=0; i;
    if (lesChamps.length) app.alert(“Les champs suivants doivent être renseignés avant d’envoyer le formulaire :”+leTexte, 2);

    Comment inclure dans cette check liste les menus déroulants et les checkbox du formulaire ?
    Cela ne fonctionne que pour les champs texte, je crois que la réponse est dans cette ligne :

    var lesChamps=new Array();

    J’ai rajouté (nomCheckBox) mais sans succès par exemple….. :Smiley02:

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #68809
    bebarth
    Maître des clés

    bonjour,

    je crois que la réponse est dans cette ligne :
    var lesChamps=new Array();

    Non, cette ligne déclare une nouvelle table vide !

    C’est ici que ça ce joue :

    Code:
    if (f.required=”true” && f.value==””) lesChamps.push(nomChamp);

    Cette ligne vérifie si le champ est obligatoire ET que sa valeur est “” (vide). Ce qui peut être le cas que pour les champs “Texte”.
    Pour les boutons radio et les cases à cocher, la valeur pour une case non cochée est “Off”.
    Pour les menus déroulants et zones de liste on va dire qu’il y a toujours une valeur. La condition dépendra donc de ce que tu veux vérifier…
    On peut ne pas tenir compte du type de champ, mais il peut y avoir des mauvais retours (si on écrit “Off” comme valeur d’un champ texte par exemple)  :

    Code:
    if (f.required=”true” && (f.value==”” || f.value==”Off” || f.value!=”Valeur recherchée de la liste”)) lesChamps.push(nomChamp);

    ou séparer les conditions en fonction du type de champ pour être plus précis :

    Code:
    if (f.required==”true” && ((f.type==”text” && f.value==””) || ((f.type==”checkbox” || f.type==”radiobutton”) && f.value==”Off”) || ((f.type==”combobox” || f.type==”listbox”) && f.value!=”Valeur recherchée de la liste”))) lesChamps.push(nomChamp);

    Ça fait peut-être peur comme ça, mais ce n’est pas trop compliqué à comprendre !
    @+
    :bonjour:

    #68810
    Merlin
    Maître des clés

    Bonjour

    Comment inclure le contrôle des champs autres que texte avant l’envoi du formulaire?

    La première chose qu’il faudrait savoir c’est le type de ces champs “autres”, car leur vérification en dépend.

    #68811
    Minautore
    Membre

    Bonjour
    La première chose qu’il faudrait savoir c’est le type de ces champs “autres”, car leur vérification en dépend.

    Effectivement, ça aiderait.

    Il s’agit de boutons radios, de champs date, de menus déroulants et de cases à cocher.

    Dans un cas de cases à cocher, il s’agit de cocher l’une ou l’autre (monsieur ou madame), ce qui complique un peu la tâche. Je vais plutôt passer par des boutons radios pour ce cas précis, même si on me dit “ça fait moins joli”. :jerisjaune:

    Le plus simple serait peut être de passer par un bouton d’envoi de formulaire avec l’option champs obligatoire. :Euuuh:

    J’ai un autre soucis avec les menus déroulants, je n’arrive pas à laisser un champ vide par défaut (donc non renseigné). Je sais que c’est possible de le faire mais je tourne en rond sans y arriver.

    #68812
    Minautore
    Membre

    @bebarth

    merci pour  le temps que tu as pris pour me répondre.

    Je pense passer par un bouton envoi de formulaire et les champs obligatoire, comme je l’ai dis au dessus. Cela serait plus simple.
    Si je dois adapter un script pour chaque formulaire, cela risque de me prendre beaucoup plus de temps que cette solution je pense.

    #68813
    Minautore
    Membre

    J’ai un autre soucis avec les menus déroulants, je n’arrive pas à laisser un champ vide par défaut (donc non renseigné). Je sais que c’est possible de le faire mais je tourne en rond sans y arriver.

    J ai trouvé une solution alternative, il suffit d’effacer le champ par défaut et la vérification fonctionne.

    #68814
    Merlin
    Maître des clés

    Je vais plutôt passer par des boutons radios pour ce cas précis, même si on me dit “ça fait moins joli”.

    Un bouton-radio peuvent avoir le même aspect qu’une case à cocher, et vice-versa.

    avec les menus déroulants, je n’arrive pas à laisser un champ vide par défaut

    On ne peut pas, il faut saisir une espace.

    J ai trouvé une solution alternative, il suffit d’effacer le champ par défaut et la vérification fonctionne.

    Bonjour le bricolage !  :geek:

    Pour vérifier une liste déroulante il faut soit :
    – vérifier sa valeur (celle de l’item par défaut),
    – vérifier sa position (celle de l’item par défaut est zéro).

    #68815
    Minautore
    Membre

    Merci pour l’aspect des boutons radio, je n’y avais même pas pensé . :mur:

    Je préfère la solution bricolage pour l’instant. :jerisjaune:

    J’ai pas spécialement la motivation pour coder une vérif pour chacun de mes formulaires.

    Et si Acrobat me propose une vérif simple à mettre en place avec ce bouton d’envoi, je prends pour le moment.

    D’autant que ceux qui sont remplissent les formulaires sont sensés être des pro du contrôle. :siffle:

    #68816
    bebarth
    Maître des clés

    J’hésite à commenter !!!
    @+
    :bonjour:

    #68817
    Merlin
    Maître des clés

    Et si Acrobat me propose une vérif simple à mettre en place avec ce bouton d’envoi, je prends pour le moment.

    Le plus simple serait peut être de passer par un bouton d’envoi de formulaire avec l’option champs obligatoire.

    Il n’y a pas plus simple en effet.

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