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 :

if ? (formulaire adobe)


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut if ? (formulaire adobe)
    Bonjour,

    Avec le code ci-dessous, l'idée est la suivante, sauf qu'il doit y avoir une petite erreur quelque part que je n'arrive pas à trouver:

    Pour les variables...
    --Si le champs est vide
    -----Afficher alerte remplissage
    --Sinon
    -----Afficher alerte validation
    --------Si Ok alors champs en lecture seule


    Je vous remercie de l'aide que vous pourrez m'apporter...

    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
    16
    17
    18
    19
    // Specify a list of required field names:
    var requiredField = ["oblig.nom", "oblig.prenom", "oblig.ddn"];
     
    // Loop through the array of field names:
    for (var i=0; i<requiredField.length; i++){
        var f = this.getField(requiredField[i]);
        if (f.value == ""){
        app.alert("The " + requiredField[i] + " field is required; please click OK on this message; enter data; and then click this button again until there are no error messages")
        break;
        }
     
        else if(i == requiredField.length - 1) {
        app.alert({ 
            cMsg: "Attention ! Une fois verrouillés, ces champs ne seront plus modifiables", nIcon: 1, nType: 1
                });
     
            if ( nButton == 1 ) this.getField("oblig").readonly = true;
    }
    }

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Il n'y a pas de question !

    A tout hasard :
    C'est quoi app ? En tout état de cause, s'il ne s'agit pas d'un objet de type window, ton code ne risque à priori pas de marcher...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bon, j'ai oublié de le préciser, il s'agit de JS dans un formulaire Adobe, qui doit s'exécuter lors de l'appui sur un bouton.

    Et dans l'état actuel, la ligne "read only" ne fonctionne pas alors qu'elle fonctionnait lorsqu'elle était toute seule (sans la vérification de champs vides)...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    L'instruction break fait sortir de la boucle for.
    Aussi, au premier test
    qui réussi, le message d'erreur s'affiche et le flux d’exécution s'arrête. Est-ce voulu ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Euh... Non, je ne crois pas^^

    L'idée est d'intégrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var nButton = app.alert({ 
    cMsg: "Attention ! Une fois verouillés, ces champs ne seront plus modifiables",
    nIcon: 1, nType: 1 
    });
    if ( nButton == 1 ) this.getField("oblig").readonly = true;
    à ce code qui fonctionne, trouvé sur Internet:
    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
    16
    17
    18
    19
    20
    // Specify a list of required field names:
    var requiredField = ["CHAMP1", "CHAMP2",
    "CHAMP3"];
    // Loop through the array of field names:
    for (var i=0; i<requiredField.length; i++){
    var f = this.getField(requiredField[i]);
    if (f.value == ""){
    app.alert("The " + requiredField[i] + "
    field is required; please click OK on this
    message; enter data; and then click this
    button again until there are no error
    messages")
    break;
    }
    else if(i == requiredField.length - 1) {
    app.alert("Thank you, all required
    fields have been completed");
    this.print();
    }
    }
    Je sais pas si j'arrive à être clair Du coup, il faudrait déplacer le "break", mais où : je viens de retester différentes combinaisons toujours sans résultat

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par afrfr37 Voir le message
    à ce code qui fonctionne
    Apparemment, non, il ne fonctionne pas.

    Citation Envoyé par afrfr37 Voir le message
    trouvé sur Internet
    Internet n'est pas une source de vérité. J'opterai plus pour un galimatias de nos errements.

    Les problèmes de ce code sont :
    - Il s'arrête après le premier champs vide
    - le contrôle final (est-ce qu'on a bien vérifier tous les champs ?), se trouve au milieu du contrôle précédent (est-ce qu'un champs est vide ?).

    Je suggère :
    - de supprimer le break
    - de déplacer le contrôle final en dehors de la boucle for, après celle-ci (pas de else if)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Après quelques modifications, voici mon code qui fonctionne comme je veux !


    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
    16
    17
    // Specify a list of required field names:
    var requiredField = ["oblig.nom", "oblig.prenom", "oblig.ddn"];
    // Loop through the array of field names:
    for (var i=0; i<requiredField.length; i++){
    var f = this.getField(requiredField[i]);
    if (f.value == ""){
    app.alert("Au moins 1 des 3 champs requis n'est pas rempli !")
    break;
    }
    else if(i == requiredField.length - 1) {
    var nButton = app.alert({ 
    cMsg: "Attention ! Une fois verouillés, ces champs ne seront plus modifiables. \n Voulez-vous continuer ?",
    nIcon: 1, nType: 1 
    });
    if ( nButton == 1 ) {this.getField("oblig").readonly = true;}
    }
    }

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

Discussions similaires

  1. Script pour formulaire adobe acrobat pro 9
    Par gnimitz dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 12/11/2015, 16h17
  2. Remplir un formulaire ADOBE
    Par Ledman dans le forum Langage
    Réponses: 0
    Dernier message: 12/10/2010, 20h32
  3. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  4. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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