Donnez vie à vos documents numériques !
 

impression du formulaire si les champs obligatoires remplis

abracadabraPDF Forums PDF – Général impression du formulaire si les champs obligatoires remplis

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45243
    P37ru
    Membre

    Hello,

    Je n’arrive pas à trouver comment bloquer l’impression d’un formulaire si les champs obligatoires ne sont pas remplis.

    Pour mon précédent formulaire, j’ai fait en sorte qu’il puisse être mis en pièce jointe d’un email seulement si les champs obligatoires sont remplis.

    Mais pour l’impression je bloque.

    Je pars de ce script, mais ça bloque….Quelqu’un peut m’aider?

    var RequiredFields = new Array(3);
    RequiredFields[0] = “Date”;
    RequiredFields[1] = “Subject”;
    RequiredFields[2] = “Customer address”;

    var AlertMsg = new Array(3);
    AlertMsg[0] = “Please fill in the field “Date””;
    AlertMsg[1] = “Please fill in the field “Customer Name””;
    AlertMsg[2] = “Please fill in the field “Address””;

    var bSuccess=true
    var emptyTest=/^s*$/;
    var fieldCount=RequiredFields.length
    var fld=0;
    for(var i=0;i{
    fld=this.getField(RequiredFields);
    if(emptyTest.test(fld.value))
    {
    bSuccess=false;
    app.alert(AlertMsg);
    fld.setFocus();
    break;
    }
    }

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

    Bonjour.

    As-tu fais une recherche sur le forum ?
    C’est une question récurrente.
    :idee:

    #59571
    P37ru
    Membre

    Je regarde le forum depuis quelques jours pour tous mes formulaires et j’en suis au 5ème déjà.
    Mais je n’ai pas trouvé la fonction blocage d’impression si les champs obligatoires ne sont pas remplis … :Smiley02:

    J’ai mis le début de mon script dans mon précédent message…

    Je vais continuer à chercher, désolé encore pour le double Post.

    Bon weekend.

    #59572
    Merlin
    Maître des clés

    Fais une recherche sur le mot “required“.
    Si tu retrouves les sujets dans lesquels j’explique pourquoi je suis opposé à ce genre de procédés c’est que tu es sur la bonne piste.

    :Smiley01:

    #59573
    P37ru
    Membre

    Merci pour ta réponse, maintenant, le mot clé “required”, c’est plus de 25 sujets.

    On a tous peu de temps pour faire les choses avant les deadlines, et ce n’est pas ma spécialités les PDF.
    J’ai passé beaucoup de temps à chercher ici et ailleurs.
    Tu te dis opposé à ce genre de procédé, c’est bien, mais le document que je prépare doit être remplis entièrement avant d’être imprimé.
    Si tu as une autre idée je suis preneur.

    Merci d’avance encore une fois pour tout.

    #59574
    Merlin
    Maître des clés

    Tu as de la chance, j’ai croisé ce script hier sur un forum américain.
    Merci à son auteur, Karl Heinz Kremer : https://answers.acrobatusers.com/ExpertProfile.aspx?userid=1658


    var emptyFields = [];
    for (var i = 0; i < this.numFields; i++)
    {
    var f = this.getField(this.getNthFieldName(i));
    if (f.type != “button”)
        {
        if (f.required && f.value == “”)
            {emptyFields.push(this.getNthFieldName(i));}
    }
    }
    if (emptyFields.length > 0)
    {
    app.alert(“At least one required field was empty. Please fill in the required fields before continuing.“)
    }
    else
    this.print({bShrinkToFit: true});

    Il n’y a que le texte de l’alerte (en orange) à modifier.
    Le paramètre “Ajuster la page” bShrinkToFit est facultatif (en bleu).

    :Smiley15:

    #59575
    Merlin
    Maître des clés

    le mot clé “required”, c’est plus de 25 sujets.

    Quand je dis que c’est une question récurrente, au moins je n’exagère pas.
    :Smiley03:

    #59576
    P37ru
    Membre

    Merci Merlin,

    Apres, l’utilisateur s’il veut imprimer directement à partir de fichier, on ne pourra l’empêcher.
    Mais le tout était de fournir un bouton “imprimer” à l’utilisateur afin qu’il passe par cette action et qu’il voit que les champs obligatoires ne sont pas tous remplis.

    Merci encore!!!

    #59577
    micka92
    Membre

    Bonsoir.

    J’ai repris une partie du script pour empêcher l’envoi par email via un bouton si les champs obligatoires ne sont pas renseignés. Cependant, même si la vérification fonctionne correctement (le message s’affiche), le script continue de fonctionner et si une de mes cases à cocher est activée, l’envoi par mail se fait. Je pensais que la fonction break arrêtait le script… :oh:

    Code:
    indexField=0;
    while(indexField {
    nameField=this.getNthFieldName(indexField);
    ff=this.getField(nameField);
    if(ff.type==”text”)
    {
    if(ff.required)
    {
    if(ff.value!=””)
    {
    }
    else
    {
    app.alert(“Au moins un champ obligatoire n’est pas renseigné.”)
    ff.setFocus();
    break;
    }
    }
    }
    indexField=indexField+1;
    }

    if (this.getField(“champ1”).isBoxChecked(0))
      {
                          this.mailDoc(true, “toto@aol.com”, “”, “”, “” );
      }
      else
      {
          if (this.getField(“champ1”).isBoxChecked(1))
          {
                            this.mailDoc(true, “toto@aol.com”, “”, “”, “” );
          }
          else

          {
          }

    #59578
    Merlin
    Maître des clés

    J’ai repris une partie du script pour empêcher l’envoi par email via un bouton si les champs obligatoires ne sont pas renseignés.

    C’est géré automatiquement, avec la propriété “required” et la fonction “Submit”.
    Au lieu de mettre une URL dans le champ Submit on y place une adresse email, précédé de “mailto:” :

    Code:
    mailto:kader.roussel@troismaisons.bis
    #59579
    bebarth
    Maître des clés

    Je pensais que la fonction break arrêtait le script…

    “break” arrête la boucle, pas le script !
    :bonjour:

    #59580
    bebarth
    Maître des clés

    bonjour,
    je pense que ce sujet devrait répondre à votre problème :
    http://abracadabrapdf.net/forum/index.php/topic,2816.0.html
    @+
    :bonjour:

    #59581
    micka92
    Membre

    C’est géré automatiquement, avec la propriété “required” et la fonction “Submit”.
    Au lieu de mettre une URL dans le champ Submit on y place une adresse email, précédé de “mailto:” :

    Code:
    mailto:kader.roussel@troismaisons.bis

    Cela contrôle uniquement les champs texte ou bien également les cases à cocher et les listes déroulantes ? Dans mon formulaire, j’ai des champs qui passent obligatoires selon certaines conditions. Je pensais juste trouver de l’aide pour modifier mon script et ainsi que la deuxième partie ne s’exécute pas si tous les champs obligatoires ne sont pas renseignés.

    #59582
    micka92
    Membre

    Cela contrôle uniquement les champs texte ou bien également les cases à cocher et les listes déroulantes ? Dans mon formulaire, j’ai des champs qui passent obligatoires selon certaines conditions. Je pensais juste trouver de l’aide pour modifier mon script et ainsi que la deuxième partie ne s’exécute pas si tous les champs obligatoires ne sont pas renseignés.

    Je viens de retranscrire le script et cela semble fonctionner pour mes besoins. C’est sûr que l’auto-contrôle des champs obligatoires rend la chose plus facile. Je n’ai toutefois pas réussi à personnaliser l’objet du mail en y ajoutant la valeur d’un champ. Le fait d’avoir

    Code:
    ?subject=champ1 + ” – Objet du mail”

    cause une erreur de syntaxe du fait de la présence des quotes.

    #59583
    Merlin
    Maître des clés

    Cet exemple devrait t’intéresser : http://abracadabrapdf.net/pdf-de-demo/formulaires/formulaire-de-contact/
    :Smiley01:

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