Programmation » [Javascript] Besoin d'aide : IE foire avec form.element.val...
Catégorie:  
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 13:24:30,
Par Clandestino
Bonjour les gens :youhou:

J'ai le code JS suivant :

  1. function FormSubmit(cLang) { 
  2. document.login.login_lang.value = cLang; 
  3. document.login.submit(); 
  4. }


...et le code HTML suivant :

  1. <form name="login" method="post" action="/login.asp"
  2. <input type="hidden" id="lang" name="login_lang" value="" /> 
  3. ... 
  4. <input class="button" type="button" onclick="FormSubmit('nl');" value="NL" /> 
  5. <input class="button" type="button" onclick="FormSubmit('fr');" value="FR" /> 
  6. </form>


Sous Firefox, aucun problème. Lorsque la form est envoyée, le script derrière récupère parfaitement la valeur passée à "login_lang" selon que le bouton "FR" ou le bouton "NL" a été cliqué pour envoyer la form.

Sous IE6/7, que dalle. La valeur retournée par "login_lang" reste désespérément vide.

Vous n'allez pas me dire que le javascript à la sauce IE est incapable de modifier la valeur d'un champ caché à la volée, quand même ?

Un avis ? Merci d'avance !

Dernière édition: 10/03/2008 @ 13:25:48
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 13:29:37,
Par zion
Et si tu changes ton code par:

document.getElementById('login_lang').value = cLang;

Cela ne fonctionne pas mieux tout simplement? :oh:

Mais si, IE fonctionne très bien à la volée, doit y avoir une couille dans le script :grin:
Je suis le Roy :ocube:
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 13:35:46,
Par Clandestino
Résolu en replaçant:
  1. document.login.login_lang.value = cLang;


par:
  1. document.getElementById("login_lang").value = cLang;


Cunégonde : :benou_grilled: par le Roy (merci le Roy :itm: )

Dernière édition: 10/03/2008 @ 13:36:23
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 15:51:23,
Par didix
Un JS pour envoyer un formulaire c'est le mal :oh:
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 15:53:12,
Par zion
C'est pas faux non plus, pourquoi tu utilises pas un simple non à ton submit, il te donnerait le nom dans le script te permettant de savoir sur quoi le mec a cliqué, et le tout sans javascript :smile:
Je suis le Roy :ocube:
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 15:56:31,
Par 3Dos
Un JS pour envoyer un formulaire c'est le mal :oh:


Sauf quand on use Ajax :')
Tout ce qui coûte me dégoûte
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 17:35:39,
Par didix


Sauf quand on use Ajax :')


C'est sur, c'est plus propre :oh:
:dehors:
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 10/03/2008 @ 17:54:56,
Par Clandestino
Sauf quand on use Ajax :')


Ben voilà, faut pas chercher plus loin :grin:
En tout cas savabien maintenant :itm:
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 16/05/2008 @ 12:18:30,
Par arachne
Cher Clandestino...
Bien que ton problème semble résolu, je me suis permis de faire un test avec une page html et un retour dans php (sans aucune prétention)...

Cela fonctionne...
Voici le code

  1. <html
  2. <head
  3. <script language="javascript"
  4.  function FormSubmit(cLang
  5.  { 
  6.   document.login.login_lang.value = cLang; 
  7.  document.login.submit(); 
  8.  } 
  9. </script
  10. </head
  11. <body
  12.  <form name="login" method="post" action="./test_script.php"
  13.   <input type="hidden" id="lang" name="login_lang" value="" /> 
  14.  </form
  15.  <input class="button" type="button" onclick="FormSubmit('nl');" value="NL" /> 
  16.  <input class="button" type="button" onclick="FormSubmit('fr');" value="FR" /> 
  17. </body
  18. </html>


  1. <?php 
  2.  echo '<login_lang>'.$_POST[login_lang].'</login_lang>'
  3.  exit
  4. ?>


Encore un précision, j'utilise : IE 7.0.5.....
Je me suis permis de sortir les boutons du formulaire... A quoi cela servirai-t-il de les envoyer dans la page résultat...

Dernière édition: 16/05/2008 @ 12:21:11
L'Arachne du Web
L'important, c'est d'apprendre et de comprendre...

Site en production
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 16/05/2008 @ 13:05:21,
Par Clandestino
C'est gentil, mais le projet est déjà bouclé et livré chez le client :itm: (en plus, c'était en .net, pas en PHP).

Mais merci quand même
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 07/01/2010 @ 11:51:58,
Par didix
Petit déterrage...

J'ai des soucis avec IE6 et du Javascript pour valider/récupérer les valeurs des champs d'un formulaire.
Sous FFox ca marche du tonnerre (sans le getElementByID() et avec, sauf que maintenant j'ai utilisé ce "getElementById" mais le test de champs vides ne marche plus... ça passe outre et ça envoie le formulaire directement.

Sous IE6 ca foire à cause d'un Select/Option, j'arrive pas à chopper la valeur sans cette fonction.

J'en ai marre. Vous avez une idée ?
Il faut du code ?
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 07/01/2010 @ 15:33:49,
Par gizmo
Oui, il faut du code, et une description plus precise de ce qui merde.
Concept vivant.
   
[Javascript] Besoin d'aide : IE foire avec form.element.val...
Publié le 07/01/2010 @ 19:11:58,
Par didix
Bon, après quelques tentatives, des hauts et des bas, ca semble fonctionner, j'ai arrêté d'y chipoter avant que ca ne re-foire. Verdicte demain :petrus:
J'ai sorti le code JS de la page web aussi, p-e que ça a aidé...
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?