Assigner à une variable JS le contenu d'un champ

Assigner à une variable JS le contenu d'un champ - HTML/CSS - Programmation

Marsh Posté le 29-05-2008 à 16:53:08    

Salut à tous ! J'ai un problème assez pressant et j'aimerais soliciter votre aide.
Je suis totalement incompétent en JS mais j'en ai besoin très rapidement.
 
Je dispose d'un formulaire. Sur ce formulaire existe un lien pour ajouter des mots-clés (qui seront assignés à des champs Hidden).
Sur le pop-up des mots-clés existent d'autres liens où est accessible un thésaurus.
 
Ce qui marche : l'ouverture du thésaurus, le choix du mot et l'assignation de ce mot dans le champ correspondant du pop-up mots-clés.
Ce qui bloque : faire passer le contenu des 3 champs mots-clés du pop-up mot-clé dans la page principale.  
 
C'est pourquoi je pense qu'il me faudrait pouvoir assigner à des variables JS le contenu de mes 3 champs mots-clés (j'ai le nécessaire pour transférer une variable JS vers la page d'origine).
 
Merci pour tout aide rapide qui me serait très précieuse !


Message édité par RiFLE+ le 29-05-2008 à 16:53:44
Reply

Marsh Posté le 29-05-2008 à 16:53:08   

Reply

Marsh Posté le 29-05-2008 à 18:29:46    

Citation :

faire passer le contenu des 3 champs mots-clés du pop-up mot-clé dans la page principale

La source sont trois champ d'un formulaire, si j'ai bien compris. Mais quelle est la destination ? Que signifie "faire passer .. dans la page" ?
 
Une page est un fichier statique. Ce n'est pas un être vivant qui bouge.
L'illusion du mouvement peut être rendu par un chargement d'une autre page légèrement différente par dessus la première, ce qui implique un dialogue avec le serveur. Dans ce cas la nouvelle page est créée par le serveur, donc pas par du Javascript, qui lui ne tourne que du côté client.
Ou bien l'illusion du mouvement peut être rendu par une réorganisation des éléments de la page dans le javascript avec des exercices de jonglage du genre :
document.getElementById('champ1').innerHTML=document.getElementById('champ2').innerHTML;
ou avec innerText ou document.write.
Mais cette méthode est limitée, et la première méthode, celle du dialogue avec le serveur, est celle qui est pratiquée le plus couramment, et qui fait intervenir un langage côté server qui n'est pas du javascript.

Reply

Marsh Posté le 30-05-2008 à 11:13:24    

J'ai une page *.php en statique qui correspond à un formulaire de recherche. Pour ajouter des mots-clés à ce formulaire, il faut cliquer sur un lien qui ouvre un pop-up. Dans ce pop-up sont remplis 3 champs.
Je souhaite faire transiter le contenu de ces 3 champs par le click sur le bouton envoyer (qui ferme le pop-up par ailleurs) entre le pop-up et des champs hidden du formulaire de la page d'origine.

Reply

Marsh Posté le 30-05-2008 à 11:41:19    

up pliz c'est plutôt urgent :)

Reply

Marsh Posté le 30-05-2008 à 11:46:23    

url de la popup :
popup.php?var1=valeur1&var2=valeur2&var3=valeur3
 
et dans popup.php tu travaille avec $_GET['var1] , $_GET['var2'] ,...


---------------

Reply

Marsh Posté le 30-05-2008 à 11:56:46    

C'est dans le sens inverse ! Les champs sont remplis dans la pop-up et je veux les faire transiter vers la page php principale, pour les inclure dans un formulaire osus forme de hidden.

Reply

Marsh Posté le 30-05-2008 à 12:00:47    

j'avais mal lu  
http://www.google.fr/search?hl=fr& [...] nt&spell=1


---------------

Reply

Marsh Posté le 30-05-2008 à 14:08:49    

J'ai trouvé deux codes qui ressemblent à ce que je recherche ::
 

Code :
  1. <HTML><HEAD><TITLE>Popup de choix</TITLE>
  2. <SCRIPT language="javascript">
  3. function Reporter(l) {
  4. var choix=l.options[l.options.selectedIndex].value;
  5. window.opener.document.forms["origine"].elements["choix"].value=choix;
  6. }
  7. </SCRIPT>
  8. </HEAD>
  9. <CENTER><BR><BR>
  10. <FONT SIZE="2" COLOR="navy" face=arial>
  11. Faites votre choix dans cette liste. <BR>
  12. Il sera reportée dans le formulaire de la fenêtre appelante.
  13. <FORM>
  14. <SELECT name="liste" onChange="Reporter(this)">
  15.  <OPTION value="">Votre choix ...</OPTION>
  16.  <OPTION value="Voiture">Voiture</OPTION>
  17.  <OPTION value="Moto">Moto</OPTION>
  18.  <OPTION value="Vélo">Vélo</OPTION>
  19. </SELECT>
  20. </FORM>
  21. </FONT>
  22. </CENTER>
  23. </BODY></HTML>


 
et  
 

Code :
  1. <HTML><HEAD><TITLE>Tout JavaScript.com - Popup Communiquant</TITLE>
  2. <SCRIPT type="text/JavaScript">
  3. function OuvrirPopup(page,nom,option) {
  4.   window.open(page,nom,option);
  5. }
  6. </SCRIPT></HEAD>
  7. <BODY bgcolor="white">
  8. <FONT face="arial" color="navy" size="2">
  9. <B><BIG><CENTER>Communiquer avec la fenêtre appelante</CENTER></BIG></B><BR>
  10. Depuis le popup il est possible d'atteindre l'objet <SPAN class=code>window</SPAN> de la fenêtre appelante grâce à <SPAN class=code>window.opener</SPAN>. On peut ainsi modifier le contenu de la fenêtre appelante ou récupérer des informations du popup pour les replacer dans un formulaire de la fenêtre appelante.<BR>
  11. Cet exemple permet de placer dans le champ <SPAN class="code">choix</SPAN> du formulaire <SPAN class="code">origine</SPAN>
  12. <BR><BR><BR>
  13. <FORM name='origine'>
  14. Votre choix <INPUT type="text" name="choix" disabled><BR>
  15. <INPUT type="button" value="Ouvrir le popup" onClick="OuvrirPopup('popchoix.html','popupchoix','width=300,height=150,menubar=no,status=no')"><BR>
  16. </FORM>
  17. <BR>
  18. <BR>
  19. <BR>
  20. <BR>
  21. <BR>
  22. </FONT>
  23. </BODY></HTML>


 
Je comprend le principe, mais ce qui me gêne est que ne sachant pas du tout manipuler JS, je ne sais pas transposer ce code qui a été fait pour choisir une option parmi une liste en champ de texte simple.
 
Le this il me semble permet de copier l'option ainsi choisie dans la page d'origine. Mais comment faire pour pouvoir copier du texte rentré à la main dans un champ "text" ??

Reply

Marsh Posté le 30-05-2008 à 14:47:06    

C'est bon en bidouillant j'ai trouvé :
 

Code :
  1. function Reporter(l) {
  2. var choix=l;
  3. window.opener.document.forms["ChoixCriteres"].elements["MCA"].value=choix;
  4. }
  5. function Reporter2(l) {
  6. var choix=l;
  7. window.opener.document.forms["ChoixCriteres"].elements["MCB"].value=choix;
  8. }
  9. function Reporter3(l) {
  10. var choix=l;
  11. window.opener.document.forms["ChoixCriteres"].elements["MCC"].value=choix;
  12. }


 
 
et le bouton valider
 

Code :
  1. <input type="button" onclick="Reporter(document.forms['Motscles'].MotCle1.value);Reporter2(document.forms['Motscles'].MotCle2.value);
  2. Reporter3(document.forms['Motscles'].MotCle3.value);" value="Valider">


Message édité par RiFLE+ le 30-05-2008 à 14:47:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed