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 :

Mettre plusieurs champs dans une seule variable


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Mettre plusieurs champs dans une seule variable
    Bonjour,

    Pour exporter les données d'un formulaire PDF nous utilisons la fonction exportAsXFDF, via un script d'application pour avoir les droits d'écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    myExport = app.trustPropagatorFunction(function(doc,path,champs) {
    app.beginPriv();
    doc.exportAsXFDF({cPath:path,
    	aFields:[champs]
    	});
    app.endPriv();
    })
     
    myExportData = app.trustedFunction(function(doc,path,champs) {
    	app.beginPriv();
    	myExport(doc,path,champs);
    	app.endPriv();
    })
    Cela fonctionne bien quant on met un seul champ en variable.

    Par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var temp = "/C/Temp/essai.xfdf";
    var champs = 'Data';
     
    myExportData(this,temp,champs);
    Par contre, impossible de faire passer plusieurs champs :
    par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var temp = "/C/Temp/essai.xfdf";
    var champs = 'Data, essai';
     
    myExportData(this,temp,champs);
    ne marche pas (le fichier XFDF ne contient aucune valeur de champs).

    Le code qui fonctionne pour l'export de plusieurs champs est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    doc.exportAsXFDF({ 
    cPath:path, 
    aFields:["Data", "essai"] 
    });
    On a essayé de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var champs = '\"Data\", \"essai\"';
    sans succès...

    Merci pour votre aide

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Je ne connais pas, mais une chose me semble bizarre dans votre message :

    Citation Envoyé par lvsl16210 Voir le message
    [...] Le code qui fonctionne pour l'export de plusieurs champs est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    doc.exportAsXFDF({ 
    cPath:path, 
    aFields:["Data", "essai"] 
    });
    [...]

    Si cela fonctionne, votre problème n'est pas résolu ?

    Sinon, que donne var champs = ["Data", "essai"]; ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Bonsoir,
    Je n'ai pas le code de la function
    mais tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var champs = '["Data", "essai"]';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    doc.exportAsXFDF({ 
    cPath:path, 
    aFields:champs 
    });

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Points : 5
    Points
    5
    Par défaut


    et merci pour vos remarques.

    @danielhagnoul
    Oui, cela fonctionne quand les paramètres sont écrits "en dur" dans le code.
    Mais l'objectif est de pouvoir utiliser la fonction myExportData pour n'importe quel document, documents qui n'ont évidemment pas tous les mêmes champs à exporter.

    D'où le problème ....


    @bonjourajax et @danielhagnoul
    Bonne remarque.
    Je viens de tester...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var champs = '["Data", "essai"]';
    ... mais cela ne marche toujours pas

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bonjour,
    @bonjourajax et @danielhagnoul
    Bonne remarque.
    Je viens de tester...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var champs = '["Data", "essai"]';
    ... mais cela ne marche toujours pas
    La réponse de danielhagnoul est
    var champs = ["Data", "essai"];
    ce qui n'est pas du tout la même chose (Array VS String) !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Points : 5
    Points
    5
    Par défaut


    Merci @tous

    Le code
    var champs = ["Data", "essai"];
    donc, sans les guillemets avant et après les "[]" (Merci @danielhagnoul)

    fonctionne bien avec le code la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    doc.exportAsXFDF({ 
    cPath:path, 
    aFields:champs 
    });
    (Merci @bonjourajax)

    C'est d'ailleurs un peu étrange, car quand je teste la valeur de ma variable champs dans un champ de type texte, les "[]" n'apparaissent pas.
    Valeur de sortie :
    Data,essai
    I l y a sûrement une explication, mais je manque cruellement d'expérience dans la gestion des variables en JavaScript (plutôt habitué au langage Perl).

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    @NoSmoking

    Merci pour la précision.

    Je comprends beaucoup mieux le principe

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    I l y a sûrement une explication, mais je manque cruellement d'expérience dans la gestion des variables en JavaScript (plutôt habitué au langage Perl).
    ta variable Array est convertie en String quand cela est possible, mais cela reste une mauvaise pratique, teste plutôt avec la console F12.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2018
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    C'est noté.

    Merci encore pour les précisions.

    L'outil reste puissant pour notre besoin de récupération de données de formulaire.

    Dans notre cas :
    - remplissage des données de fiche client pour le suivi des travaux (temps et opérations effectuées) ;
    - enregistrement de la fiche dans un dossier donné en fonction du nom du client sélectionné ;
    - validation de la fiche avec récupération des totaux dans un classeur Excel

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

Discussions similaires

  1. Mettre plusieurs pauses dans une seule macro
    Par Astumap dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/05/2017, 17h36
  2. [MySQL] resultat mysql dans une seul variable (sorte de regroupement de plusieur resultat) ::
    Par rezareza dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 06/02/2009, 14h49
  3. Mettre le contenu de plusieurs lignes dans une seule case
    Par bellamouna dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 09/12/2008, 12h11
  4. Réponses: 9
    Dernier message: 10/02/2008, 17h14
  5. [Tableaux] plusieurs champs dans une meme variable
    Par crischprolch dans le forum Langage
    Réponses: 4
    Dernier message: 24/07/2007, 17h18

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