[JS] - Mise a jour de plusieur champs text d'un formulaire.

- Mise a jour de plusieur champs text d'un formulaire. [JS] - HTML/CSS - Programmation

Marsh Posté le 04-02-2004 à 17:26:41    

Salut,  
 
Voila j'ai beau chercher, je trouve pas :'(
 
J'ai une suite de champ texte sous le format :  
 

Code :
  1. <input name="contenu_length[]" type="text" value="blabla">


 
Lorsque je click sur un bouton, ces champs doivent se mettre a jour.
 
Donc voila le bout de code

Code :
  1. for(i=0; i<nb_field; i++)
  2.    {
  3.       r_form.contenu_length[i].value = r_form.contenu_length_all.value;
  4.    }


 
Ca genere une erreur js :/
 
alors que si j'essaie avec un champ non-indicé ca marche  
 

Code :
  1. r_form.contenu_length_all.value = "blablabla"; //Ca roule :/


 
 
j'vois vraiment pas de solution, j'ai essayé sans mettre l'indice : r_form.contenu_length[].value, ca fait pareil.  
 
a+ merci d'avance


Message édité par _maximus_ le 04-02-2004 à 17:27:22

---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 04-02-2004 à 17:26:41   

Reply

Marsh Posté le 04-02-2004 à 17:31:42    

C'est quoi ce truc infame.
 
Utilise donc des getElementById déjà... On y verra plus clair.

Reply

Marsh Posté le 04-02-2004 à 17:43:35    

Vi chui vraiment desolé mais le JS et moi....  
 
J'vais voir ton truc de getElementByID, merci ;)


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 04-02-2004 à 17:54:04    

HLM > Bah... Je trouve que pour les champs d'un form, passer par le chemin document.nomForm.nomChamp est pas plus mal. Parceque certes, dans tous les cas JS bosse comme un sagouin, je pense que ça peut être beaucoup plus rapide que getElementById.
 
En effet, ce dernier teste tous les éléments de la page, tandis qu'en prenant le "chemin hiérachique", on filtre à un nombre bien plus réduit d'éléments à parcourir pour retrouver celui qu'on traîte.
 
M'enfin bon, de toute façon, ça changera rien au problème.
 
PS: je capte pas trop le coup du _all Ca sort d'où ce truc ?

Reply

Marsh Posté le 04-02-2004 à 17:56:14    

MagicBuzz a écrit :

HLM > Bah... Je trouve que pour les champs d'un form, passer par le chemin document.nomForm.nomChamp est pas plus mal. Parceque certes, dans tous les cas JS bosse comme un sagouin, je pense que ça peut être beaucoup plus rapide que getElementById.
 
En effet, ce dernier teste tous les éléments de la page, tandis qu'en prenant le "chemin hiérachique", on filtre à un nombre bien plus réduit d'éléments à parcourir pour retrouver celui qu'on traîte.
 
M'enfin bon, de toute façon, ça changera rien au problème.
 
PS: je capte pas trop le coup du _all Ca sort d'où ce truc ?


 
1) On s'en fout des perfs.
2) C'est illisible comme ça. On ne comprend rien du tout à part en plongeant dans le code la tête la première.

Reply

Marsh Posté le 04-02-2004 à 17:57:50    

Yes! Ca roule, merci pour le coup de pouce ;)
 
  for(i=0; i<nb_field; i++)
  {
  document.getElementById("contenu_length["+i+"]" ).value = r_form.contenu_length_all.value;
 
  }
 
maintenant je sais pas si c'est infame ou non mais ca marche :)
 


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 04-02-2004 à 17:59:13    

_maximus_ a écrit :

Yes! Ca roule, merci pour le coup de pouce ;)
 
  for(i=0; i<nb_field; i++)
  {
  document.getElementById("contenu_length["+i+"]" ).value = r_form.contenu_length_all.value;
 
  }
 
maintenant je sais pas si c'est infame ou non mais ca marche :)
 
 


 
Ben déjà, ça ne marchera jamais avec du XHTML 1.1, puisque name n'existe pas pour la balise <form>  :D

Reply

Marsh Posté le 04-02-2004 à 18:00:52    

il faut que je mette un id au formulaire aussi c'est ca?


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 04-02-2004 à 18:06:30    

teste en faisant form[0] et en virant le name pour voir.

Reply

Marsh Posté le 04-02-2004 à 18:16:30    

 for(i=0; i<nb_field; i++)
  {    
   //document.getElementById("contenu_length["+i+"]" ).value = r_form.contenu_length_all.value;
   document.getElementById("contenu_length["+i+"]" ).value = form[0].contenu_length_all.value;
  }
 
 
Ca va plus si je fais ca


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Sujets relatifs:

Leave a Replay

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