Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
604 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript et formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

javascript et formulaire

n°1242364
bricocoman
j'aime les modos
Posté le 09-11-2005 à 16:03:57  profilanswer
 

:hello:  
 
bon, je n'utilise jamais de javascript ( [:yopyopyop] ) mais bon, là, je ne peux pas faire autrement.  
 
J'ai un formulaire de base dans lequel les visiteurs ont trois champs à remplir. L'un d'eux est le code ISBN d'un livre. Pour les aider à le trouver, je fais appel à un "popup" (re- [:yopyopyop] ) dans laquelle il peuvent faire une recherche et trouver l'ISBN correspondant.  
Comme je n'utilise jamais de javascript, je sèche. C'est sûrement une connerie mais je bloque [:spamafote]  
 
Le code dans la page parent :

Code :
  1. <html>
  2. <head>
  3. <title>Document sans titre</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="javascript">
  6. function popup(fic)
  7. { recherche=window.open(fic,'Choisir','width=400,height=250,top=50,left=50'); }
  8. </script>
  9. </head>
  10. <body>
  11. <form name="toto">
  12. <a href="javascript:popup('testpopup2.php')">ISBN :</a><input type="text" name="isbn"><br>
  13. </form>
  14. </body>
  15. </html>


 
la "popup" :

Code :
  1. <script language="javascript">
  2. function choisir(truc)
  3. { window.opener.document.forms[0].isbn.value = truc.options[truc.selectedIndex].value;
  4. self.close(); }
  5. </script>
  6. </head>
  7. <body>
  8. <form name="toto">
  9. <select name="choix" onChange="choisir(this)">
  10. <option value="">Choisissez</option>
  11. <option value="Ain">Ain</option>
  12. <option value="Aisne">Aisne</option>
  13. <option value="Allier">Allier</option>
  14. <!-- etc. -->
  15. </select>
  16. </form>
  17. <br />
  18. <form name="tutu">
  19. <input name="isbn" value="123456" type="text">
  20. <input type="button" value="ok" onChange="choisir(this)">
  21. </form>
  22. </body>
  23. </html>


 
Avec le premier formulaire (SELECT) la valeur est bien transmise dans le formulaire de la page parente, mais avec un champ texte (INPUT) de base, ca marche pas.
 
Oui, je sais, c'est ballot, mais je vois pas (et c'est pas faute d'avoir cherché)
 
Merci de votre aide
 :)


Message édité par bricocoman le 09-11-2005 à 16:05:11
mood
Publicité
Posté le 09-11-2005 à 16:03:57  profilanswer
 

n°1242376
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-11-2005 à 16:19:49  profilanswer
 

Déjà le onChange dans un bouton ... avec qu'il soit appelé accroche toi!
 
 
Ensuite dans ta fonction tu passes à opener:

Code :
  1. truc.options[truc.selectedIndex].value;


 
Forcément il risque pas de récuperer la valeur de ton champ texte ...

n°1242377
omega2
Posté le 09-11-2005 à 16:21:06  profilanswer
 

Question con : il est où truc dans ta popup?

n°1242382
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-11-2005 à 16:27:07  profilanswer
 

il est pas dans sa popup truc ...  
c'est document.forms[0].isbn.value  qui doit y être.

n°1242386
bricocoman
j'aime les modos
Posté le 09-11-2005 à 16:30:12  profilanswer
 

je vous l'avais dit que je ne faisais jamais de javascript  :D
 
mais alors concrètement, c'est quoi la bonne solution ?
Je doit changer le onChange par autre chose ?


Message édité par bricocoman le 09-11-2005 à 16:32:22
n°1242411
bricocoman
j'aime les modos
Posté le 09-11-2005 à 16:45:19  profilanswer
 

anapajari a écrit :

Déjà le onChange dans un bouton ... avec qu'il soit appelé accroche toi!
c'est un onClick qu'il faut utiliser sur un bouton ?
 
Ensuite dans ta fonction tu passes à opener:

Code :
  1. truc.options[truc.selectedIndex].value;


 
Forcément il risque pas de récuperer la valeur de ton champ texte ...


n°1242422
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-11-2005 à 16:51:03  profilanswer
 

oui c'est onclick mais ça résoudra que la moitié de ton problème.
Tu ne vas pas lui passer la valeur de ton input text si tu changes juste ce point.
 
Il faut qu'en fonction de ce qui appele choisir() tu passes la bonne valeur.
Alors soit tu joues avec l'objet this que tu passes en paramètre, soit tu fais 2 fonctions différentes ( ce qui est beaucoup plus facile pour quelqu'un qui fait jamais de javascript)

n°1242430
bricocoman
j'aime les modos
Posté le 09-11-2005 à 16:57:15  profilanswer
 

anapajari a écrit :

oui c'est onclick mais ça résoudra que la moitié de ton problème.
Tu ne vas pas lui passer la valeur de ton input text si tu changes juste ce point.
 
Il faut qu'en fonction de ce qui appele choisir() tu passes la bonne valeur.
Alors soit tu joues avec l'objet this que tu passes en paramètre, soit tu fais 2 fonctions différentes ( ce qui est beaucoup plus facile pour quelqu'un qui fait jamais de javascript)


certes  [:mlc2]  [:tinostar]  
 
Chuis désolé, vraiment, mais même ça, c'est compliqué pour moi  [:spamafote]

n°1242912
bricocoman
j'aime les modos
Posté le 10-11-2005 à 10:15:24  profilanswer
 

:hello:  
 
bon, j'ai essayé de bidouiller quelque chose, mais ça marche jamais.  [:spamafote]  
Je suis vraiment une buse en javascript.
 
Y'aurait pas une bonne âme qui puisse m'indiquer ce que je dois faire ?  :ange:

n°1242925
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-11-2005 à 10:34:11  profilanswer
 

Code :
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function setValue(inpId){
  5. var inp = document.getElementById(inpId);
  6. if(inp.tagName == 'SELECT'){
  7. window.opener.document.forms[0].isbn.value = inp.options[inp.selectedIndex].value;
  8. } else if (inp.tagName == 'INPUT'){
  9. window.opener.document.forms[0].isbn.value = inp.value;
  10. }
  11. self.close();
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form name="toto">
  17. <select name="choix" onChange="setValue('choix')" id="choix">
  18. <option value="">Choisissez</option>
  19. <option value="Ain">Ain</option>
  20. <option value="Aisne">Aisne</option>
  21. <option value="Allier">Allier</option>
  22. <!-- etc. -->
  23. </select>
  24. </form>
  25. <br />
  26. <form name="tutu">
  27. <input name="isbn" value="123456" type="text" id="isbn">
  28. <input type="button" value="ok" onClick="setValue('isbn')">
  29. </form>
  30. </body>
  31. </html>

mood
Publicité
Posté le 10-11-2005 à 10:34:11  profilanswer
 

n°1242981
bricocoman
j'aime les modos
Posté le 10-11-2005 à 11:30:59  profilanswer
 

Ah d'acord, je comprends mieux maintenant.
Merci beaucoup anapajari  :jap:  
(et aux autres aussi)
 

n°1243015
bricocoman
j'aime les modos
Posté le 10-11-2005 à 11:50:23  profilanswer
 

anapajari a écrit :

Code :
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function setValue(inpId){
  5. var inp = document.getElementById(inpId);
  6. if(inp.tagName == 'SELECT'){
  7. window.opener.document.forms[0].isbn.value = inp.options[inp.selectedIndex].value;
  8. } else if (inp.tagName == 'INPUT'){
  9. window.opener.document.forms[0].isbn.value = inp.value;
  10. }
  11. self.close();
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form name="toto">
  17. <select name="choix" onChange="setValue('choix')" id="choix">
  18. <option value="">Choisissez</option>
  19. <option value="Ain">Ain</option>
  20. <option value="Aisne">Aisne</option>
  21. <option value="Allier">Allier</option>
  22. <!-- etc. -->
  23. </select>
  24. </form>
  25. <br />
  26. <form name="tutu">
  27. <input name="isbn" value="123456" type="text" id="isbn">
  28. <input type="button" value="ok" onClick="setValue('isbn')">
  29. </form>
  30. </body>
  31. </html>



 
nickel  ;)  
bon désolé, encore une question, si maintenant j'ai trois champs dans le formulaire au lieu d'un  :whistle: :D  
 

Code :
  1. <form name="tutu">
  2. <input name="isbn" value="123456" type="text" id="isbn">
  3. <input name="auteur" value="Jean Dupont" type="text" id="auteur">
  4. <input name="titre" value="le javascript pour les nuls" type="text" id="titre">
  5. <input type="button" value="ok" onClick="setValue('isbn')">
  6. </form>

n°1246782
bricocoman
j'aime les modos
Posté le 16-11-2005 à 14:41:01  profilanswer
 

bricocoman a écrit :

nickel  ;)  
bon désolé, encore une question, si maintenant j'ai trois champs dans le formulaire au lieu d'un  :whistle: :D  
 

Code :
  1. <form name="tutu">
  2. <input name="isbn" value="123456" type="text" id="isbn">
  3. <input name="auteur" value="Jean Dupont" type="text" id="auteur">
  4. <input name="titre" value="le javascript pour les nuls" type="text" id="titre">
  5. <input type="button" value="ok" onClick="setValue('isbn')">
  6. </form>



 
je reviens à la charge  [:gilbert gosseyn]  
 
ça fait quelques jours que je galère pour faire passer les valeurs de trois INPUT au lieu d'un.  
j'ai bidouillé le javascript mais en vain :sweat:  
quelqu'un pourrait m'indiquer la marche à suivre?
 
 :jap:

n°1247644
bricocoman
j'aime les modos
Posté le 17-11-2005 à 15:03:09  profilanswer
 

nobody :??:   :sweat:

n°1247669
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-11-2005 à 15:27:31  profilanswer
 

montres nous ce que tu as fais on te dira ce qui va pas ...
 

n°1247690
bricocoman
j'aime les modos
Posté le 17-11-2005 à 15:44:58  profilanswer
 

j'ai bisouillé des trucs mais comme ça marchait pas, je les ai aps gardés. Voilà le dernier en date (merci de ne pas rire  :D )
 
page 1

Code :
  1. <html>
  2. <head>
  3. <title>test</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="javascript">
  6. function popup(fic)
  7. { recherche=window.open(fic,'Choisir','width=400,height=250,top=50,left=50'); }
  8. </script>
  9. </head>
  10. <body>
  11. <form name="toto">
  12. <a href="javascript:popup('test2.php')">test2</a>
  13. <input type="text" name="isbn">
  14. <input type="text" name="titre">
  15.   <br>
  16. </form>
  17. </body>
  18. </html>


 
page test2

Code :
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function setValue(inpId){
  5. var inp = document.getElementById(inpId);
  6. if(inp.tagName == 'INPUT'){
  7. window.opener.document.forms[0].isbn.value = inp.value;
  8. window.opener.document.forms[0].titre.value = inp.value;
  9. }
  10. self.close();
  11. }
  12. </script>
  13. </head>
  14. <body>
  15. <form name="tutu">
  16.   <input name="isbn" value="ISBN" type="text" id="isbn">
  17.   <input name="titre" value="javascript pour le très nuls" type="text" id="titre">
  18.   <br>
  19.   <br>
  20. <input name="button2" type="button" onClick="setValue('isbn','titre')" value="ok">
  21. </form>
  22. </body>
  23. </html>


 
les valeurs transmises sont les mêmes (celle d isbn)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  javascript et formulaire

 

Sujets relatifs
Récuperer une varible Javascript en php dans un formulaire[JavaScript] xhtml et attribut name d'un formulaire incompatible
[JAVASCRIPT] Envoi d'un formulaire dans un popupPb javascript: formulaire
[JavaScript] Vérifier un formulaire avant envoiJavascript dans un formulaire, trucs qui se déclenchent tout seuls
[RESOLU] petit soucis de formulaire et javascriptEnvoyer un formulaire en javascript en post, c'est possible ?
[javascript] desactiver un onsubmit en cochant une case (formulaire)[HTML /JAVASCRIPT je crois] probleme formulaire
Plus de sujets relatifs à : javascript et formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR