abracadabraPDF › Forums › PDF – Général › Liste déroulante qui envoie info à un second champ. – presque RÉSOLU ;-)
- Ce sujet est vide.
-
CréateurSujet
-
14 janvier 2013 à 12:02 #44396
karticlub57
MembreBonjour è tous,
J’ai un petit souci que j’arrive pas a trouver, comment faire :
ci-joint une image pour mieux comprendre
Il fraudait que ma liste déroulante N°1 (sur la gauche) je mets exemple “JTM” (Je T’Aime pour la définition) et une fois sélectionner, j’aimerais qu’il affiche automatiquement sur la 2ème liste sur la droite uniquement, le texte : “Je T’Aime” .
Est-il possible de réaliser cela ?
Si vous pouvez, s’il vous plaît, donnez-moi un petit coup de pouce.
Je travaille le formulaire avec Adobe Reader Pro.
Merci à vous.
Sergio -
CréateurSujet
-
AuteurRéponses
-
14 janvier 2013 à 12:42 #54353
karticlub57
MembreRe-bonjour,
En faisant des recherches plus approfondi, et autre terme d’expression j’ai fini par trouver et ça marche, je le rajoute ici au cas ou d’autres aurais le même souci.
Voici comment faire :
Dans la liste déroulante 1, vous allez dans la zone Calcul et rajouter ceci tel que dans la parti script personnaliser.
Code:this.getField(“MenuNom”).value = this.getField(“AfficheNom”).value“MenuNom” a remplacer par le nom de votre champ, idem pour “AfficheNom” le reste laisser tel que.
En suite pour le 2eme champ insérer un champ donc de Nom ” AfficheNom” en texte, enregistrer le tout et tester .
Pour moi ça fonctionne nikel.
Merci à tous.
Source : http://abracadabrapdf.net/forum/index.php/topic,1102.msg4497.html#msg4497
14 janvier 2013 à 13:21 #54354Lionel
Membre:Smiley08: :PouceHaut:
Lionel :alien2:
14 janvier 2013 à 14:07 #54355karticlub57
MembreDésole je ré-ouvre le sujet,
Cette fois ci j’aimerais rajouter le TARIF en plus et là je n’y arrive pas, je ne trouve pas et ne sais pas comment faire.
C-dessous l’image pour expliquer :
J’aimerais qu’en sélectionnant le code sur la colonne 1 le prix soit affiché aussi au même temps sur la colonne 3, ou :
Je sélectionne la colonne 1 qui envoie info sur la 2 et la 2 qui envoi les infos sur la 3.
Voila les amis, merci de m’expliquer comment faire.
Je vous remercie d’avance.
PS : cette fois ci j’ai cherché mais pas trouvé.
Sergio
14 janvier 2013 à 14:37 #54356Lionel
MembreBonjour,
Il serait bien que tu nous mettes le PDF en pièce jointe.
À bientôt.
Lionel :alien2:14 janvier 2013 à 15:07 #54357karticlub57
Membre14 janvier 2013 à 17:00 #54358karticlub57
Membrere:
J’ai trouver ceci en pièce jointe, mais j’arrive pas a modifier les éléments déjà inscrit, quand je modifie et apres avoir enregistrer le tout etc cella revient comme avant ?
Cette méthode la me conviendrais mais il faut que je puisse la modifier
source du poste http://abracadabrapdf.net/forum/index.php/topic,1178.30.html
Voilà une maquette pour illustrer une solution à votre problème si ça peut vous dépanner. Attention, la définition des tables n’est pas complète (limitée à Afrique et Europe), saurez-vous vous en débrouiller ?
On peut supprimer le bouton “Init”, l’initialisation se fait avec l’ouverture de page (script Initialisation())
Les deux autres scripts sont lançés:
1-par action du menu déroulants de niveau 1 (les continents) pour RemplissageFille()
2-par action du menu déroulants de niveau 2 (les pays) pour RemplissagePetiteFille()Les villes sont répertoriées dans les liste ListeN3 comme suit:
c est le rang du continent issu de la liste ListeN1 des continents.
p est le rang du pays issu de la liste ListeN2[c] des pays.
ListeN3[c][p]=[“Ville1″,”Ville2″,”Ville3″,”Ville4″,”Ville5”];Aucune des listes de niveau 1, 2 ou 3 n’est limitée en nombre.
On peut adapter ce système à une autre hiérarchie (il suffit de modifier les tables du script d’initialisation).
[attachment deleted by admin]
14 janvier 2013 à 19:01 #54359Merlin
Maître des clésJ’aimerais qu’en sélectionnant le code sur la colonne 1 le prix soit affiché aussi au même temps sur la colonne 3
A la ligne de code :
this.getField(“MenuNom”).value = this.getField(“AfficheNom”).value;
Il faut ajouter :
this.getField(“tarif1”).value = “44 u20AC”;
Ce qui nous donne :
this.getField(“MenuNom”).value = this.getField(“AfficheNom”).value;
this.getField(“tarif1”).value = “44 u20AC”;Où u20AC est la syntaxe Unicode pour obtenir le caractère €.
==> http://abracadabrapdf.net/utilitaires/utilitaires-pdf/abra-txt2unicode-texte-vers-unicode/:Smiley15:
14 janvier 2013 à 19:59 #54360karticlub57
Membreça fonctionne, merci
mais le seul souci c’est que j’ai toujours le même prix pour tous, moi il me fraudais un prix spécifique pour chaque code
Exemple:
AfficheNom >>>>>>>>>>>>>>>>>>>>>>>>> MenuNom>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tarif1
NCCK >>>>>>>>>>>>>>>>>>>>>>>>>>>> National Concurrent Conducteur Karting >>>>>>>> 44
ICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> International Personne Satellite >>>>>>>>>>>>> 62etc etc etc
Voila comment j’aimerais que ça se passe si possible .
merci
14 janvier 2013 à 20:23 #54361Merlin
Maître des clésJ’ai trouver ceci en pièce jointe, mais j’arrive pas a modifier les éléments déjà inscrit, quand je modifie et apres avoir enregistrer le tout etc cella revient comme avant ?
:Euuuh: :doute: :oh:
On peut adapter ce système à une autre hiérarchie (il suffit de modifier les tables du script d’initialisation).
14 janvier 2013 à 20:35 #54362karticlub57
MembreJ’ai penser a ceci tu me dit ce que tu en pense ?
Actuellement j’ai : menu 1 = liste déroulante – menu 2 = simple texte et idem pour tarif1
Si on pouvait créer une liste pour le menu 2 que lui envoi la valeur au tarif1
c’est possible ?
J’ai tester mais pas réussi soit ca marche du 1 a 2 ou du 2 a 3 mais pas les trois ensemble
Le script plus haut que j’ai lu sur l’autre poste il fonctionne très bien sauf j’arrive pas a l’éditer quand je change sur les propriétés il revient comme au départ et quand j’affiche tous les scripts et modifie en Dur pareille ca marche pas que faire ??
Voici le message plus haut
re:
J’ai trouver ceci en pièce jointe, mais j’arrive pas a modifier les éléments déjà inscrit, quand je modifie et apres avoir enregistrer le tout etc cella revient comme avant ?
Cette méthode la me conviendrais mais il faut que je puisse la modifier
source du poste http://abracadabrapdf.net/forum/index.php/topic,1178.30.html
Voilà une maquette pour illustrer une solution à votre problème si ça peut vous dépanner. Attention, la définition des tables n’est pas complète (limitée à Afrique et Europe), saurez-vous vous en débrouiller ?
On peut supprimer le bouton “Init”, l’initialisation se fait avec l’ouverture de page (script Initialisation())
Les deux autres scripts sont lançés:
1-par action du menu déroulants de niveau 1 (les continents) pour RemplissageFille()
2-par action du menu déroulants de niveau 2 (les pays) pour RemplissagePetiteFille()Les villes sont répertoriées dans les liste ListeN3 comme suit:
c est le rang du continent issu de la liste ListeN1 des continents.
p est le rang du pays issu de la liste ListeN2[c] des pays.
ListeN3[c][p]=[“Ville1″,”Ville2″,”Ville3″,”Ville4″,”Ville5”];Aucune des listes de niveau 1, 2 ou 3 n’est limitée en nombre.
On peut adapter ce système à une autre hiérarchie (il suffit de modifier les tables du script d’initialisation).
14 janvier 2013 à 20:57 #54363Merlin
Maître des clésj’arrive pas a l’éditer quand je change sur les propriétés il revient comme au départ et quand j’affiche tous les scripts et modifie en Dur pareille ca marche pas que faire ?
Moi je trouve que ça fonctionne bien : sélectionne “Couleurs” dans le 1er menu du ci-joint.
Très franchement, je ne comprend pas ce que tu fais ni comment, tes explications sont trop imprécises.:Smiley01:
[attachment deleted by admin]
14 janvier 2013 à 21:05 #54364karticlub57
Membrejustement explique moi comment as tu fait pour changer le pays en couleur stp ?
14 janvier 2013 à 21:43 #54365karticlub57
Membreje pense avoir compris ?
Je vient de tester sur ton fichier, en gros j’ai modifier le script et le souci été toujours la, donc j’ai recommencer et la de suite apres j’ai appuyer sur Init et la il l’as sauvegarder donc je vais tester avec le reste et te tiens au courent
merci
14 janvier 2013 à 22:27 #54366Merlin
Maître des clésOui, il faut impérativement cliquer sur “Init”.
Mais c’est juste pour la démo, dans un vrai formulaire on initialiserait à l’ouverture du doc.:extra:
15 janvier 2013 à 00:39 #54367karticlub57
Membrere: Alors tout d’abord un grand merci a toi pour ton aide, j’ai réussi a le faire.
Juste encore un tout petit point a régler et je pense que ca sera bon après :
Quand je choisi sur la listeN°1 , la liste N°2 est automatiquement rempli et pas la 3eme .
Donc il faut modifier quel ligne pour que la 3eme liste soit aussi en auto, sans devoir cliquer sur la 2eme .
Voici mon code :
Code://————————————————————-
//—————–Ne pas modifier les balises XML——————–
//————————————————————-//
//Initialisation
//
/*********** appartient à : Document-Level:Initialisation ***********/function Initialisation()
{
console.clear();
//On définit les tableaux en respectant l’arborescence des menus:
console.println(“On définit les tableaux en respectant l’arborescence des menus.”)
ListeN1=new Array();
ListeN2=new Array();
ListeN3=new Array();
//On définit les contenus des tableaux
//niveau 1
ListeN1=[“.”,”ICCBK”,”ICCCJK”,”ICCCSK”,”ICT”,”NCCK”,”NCCMKK”,”NECCJSK”,”NECCMCK”,”NECCMKK”,”NECCJSPK”,”NECCMKPK”,”NEHK”,”EIPS”];
//Niveau 2, définition dans l’ordre de la liste de niveau 1
ListeN2[0]=[“”];
ListeN2[1]=[“INTERNATIONAL CONCURRENT CONDUCTEUR B KARTING”];
ListeN2[2]=[“INTERNATIONALE CONCURRENT CONDUCTEUR C JUNIOR KARTING”];
ListeN2[3]=[“INTERNATIONALE CONCURRENT CONDUCTEUR C SENIOR KARTING”];
ListeN2[4]=[“INTERNATIONALE CONCURRENT TUTEUR”];
ListeN2[5]=[“NATIONALE CONCURRENT CONDUCTEUR KARTING”];
ListeN2[6]=[“NATIONALE CONCURRENT CONDUCTEUR MINIKART KARTING”];
ListeN2[7]=[“NATIONALE ENTRAINEMENT COURSE CLUBS JUNIOR SENIOR KARTING”];
ListeN2[8]=[“NATIONALE ENTRAINEMENT COURSE CLUBS MINIME CADET KARTING”];
ListeN2[9]=[“NATIONALE ENTRAINEMENT COURSE CLUBS MINIKART KARTING”];
ListeN2[10]=[“NATIONALE ENTRAINEMENT COURSE CLUBS JUNIOR SENIOR PREMIUM KARTING”];
ListeN2[11]=[“NATIONALE ENTRAINEMENT COURSE CLUBS MINIKART PREMIUM KARTING”];
ListeN2[12]=[“NATIONALE ENTRAINEMENT H KARTING”];
ListeN2[13]=[“ENTERNATIONALE PERSONNE SATELLITE”];//Niveau 3 crétion des tables
indexContinent=0;
while(indexContinent{
indexPays=0;
while(indexPays{
ListeN3[indexContinent]=new Array();
indexPays=indexPays+1;
}
indexContinent=indexContinent+1;
}
//Niveau 3 suite, définition dans l’ordre des niveaux 1 et 2 respectivement:
//ICCBK
ListeN3[0][0]=[“”];
ListeN3[1][0]=[“10”];
ListeN3[2][0]=[“20”];
ListeN3[3][0]=[“30”];
ListeN3[4][0]=[“40”];
ListeN3[5][0]=[“50”];
//ICCCJK
ListeN3[6][0]=[“60”];
ListeN3[7][0]=[“70”];
ListeN3[8][0]=[“80”];
ListeN3[9][0]=[“90”];
//ICCCSK
ListeN3[10][0]=[“100”];
ListeN3[11][0]=[“110”];
ListeN3[12][0]=[“120”];
ListeN3[13][0]=[“130”];//
//Remplissage de la liste de niveau 1 (sélecteur de niveau supérieur)
this.getField(“ListeNiveau1”).clearItems();
indexContinent=0;
while(indexContinent{
this.getField(“ListeNiveau1”).insertItemAt(ListeN1[indexContinent],indexContinent,indexContinent)
indexContinent=indexContinent+1;
}
//Fin remplissage Liste mère
//Reset des menus secondaires
ffille=this.getField(“ListeNiveau2”);
ffille.clearItems();
fpfille=this.getField(“ListeNiveau3”);
fpfille.clearItems();
}//
////
//RemplissageFille
//
/*********** appartient à : Document-Level:RemplissageFille ***********/function RemplissageFille()
{
console.clear();
//Nom du sélecteur solliscité:
NomSelecteur=event.target.name;
console.println(“Sélecteur activé:”+NomSelecteur)
ffille=this.getField(“ListeNiveau2”);
ffille.delay=true;
console.println(“Remplissage liste fille”);
ffille=this.getField(“ListeNiveau2”);
ffille.clearItems();
fpfille=this.getField(“ListeNiveau3”);
fpfille.clearItems();
indexPays=0;
while(indexPays{
console.println(“Remplissage liste fille index=”+indexPays+” par “+ListeN2[event.changeEx][indexPays]);
ffille.insertItemAt(ListeN2[event.changeEx][indexPays],indexPays,indexPays)
indexPays=indexPays+1;
}
ffille.currentValueIndices=0;
ffille.delay=false;
console.println(“Remplissage liste fille. Fin.”);
}//
////
//RemplissagePetiteFille
//
/*********** appartient à : Document-Level:RemplissagePetiteFille ***********/function RemplissagePetiteFille()
{
console.println(“Remplissage liste petite fille”);
NomSelecteur=event.target.name;
console.println(“Sélecteur activé:”+NomSelecteur)
fpfille=this.getField(“ListeNiveau3”);
fpfille.delay=true;
fpfille.clearItems();
indexVille=0;
selectionN1=this.getField(“ListeNiveau1”).value;
while(indexVille{
console.println(“Remplissage liste petite fille index=”+indexVille+” par “+ListeN3[selectionN1][event.changeEx][indexVille]);
fpfille.insertItemAt(ListeN3[selectionN1][event.changeEx][indexVille],indexVille,indexVille)
indexVille=indexVille+1;
}
fpfille.currentValueIndices=0;
fpfille.delay=false;
console.println(“Remplissage liste petite fille.fin.”);
}//
////
//Page1:Ouverture de la page:Action1
//
/*********** appartient à : Page-Actions:Page1:Ouverture de la page:Action1 ***********///Script de définition des tables…
Initialisation();//
////
//Init:Annot1:MouseUp:Action1
//
/*********** appartient à : AcroForm:Init:Annot1:MouseUp:Action1 ***********/Initialisation();
//
////
//ListeNiveau1:Keystroke
//
/*********** appartient à : AcroForm:ListeNiveau1:Keystroke ***********///Remplissage du second menu déroulant
if(!event.willCommit)
{
RemplissageFille();
}//
////
//ListeNiveau2:Keystroke
//
/*********** appartient à : AcroForm:ListeNiveau2:Keystroke ***********///Remplissage du troisième menu déroulant
if(!event.willCommit)
{
RemplissagePetiteFille();
}//
//éditer:
Alors un autre petit souci que je vient de trouver :
Lorsque je copie les 3 liste pour en faire 9 lignes au total sur toute la page, ça ne fonctionne pas il as plus rien qui fonctionne, comment faire svp ?
1 février 2013 à 12:16 #54368Lionel
MembreBonjour,
Des nouvelles ?
Bien cordialement.
Lionel :alien2: -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.