Page 1 sur 1

Formulaire avec nombre de paramètres variant

Posté : 19 mai 2006, 11:29
par mister.jayyy
Bonjour

Je suis en train de développer un formulaire en intranet.
J'explique le principe dans un exemple concret:

Formulaire de gestion des compétences (génération de CV par exemple):
un lien ajouter une compétence
a chaque fois une textbox est rajoutée.

y'aurait il un moyen pour passer tous les éléments d'un formulaire sans être obligé de dire
MonObjetXHR.send('param1=...&param2=...&param3...=', 'mapage')
car le nombre de paramètres est inconnu à priori.

Il y a toujours un champs hidden qui compte le nombre, mais je n'ai pas vraiment envie de faire une boucle qui rajoute comme par exemple
param+= document.getElementById('param'+i).value;

Quelqu'un a-t-il une autre solution?

Posté : 19 mai 2006, 11:36
par Tictac
et si tu envoyais directement sous forme d'array !
tu traites ensuite l'array dans la page appelée par ton objetXHR !

Posté : 19 mai 2006, 11:37
par guilt92
tu peux mettre tout tes parametre à la suite les un des autres en les séparant par un caractère ou un ensemble de caractere que tu auras definis, envoyer la string la récupérer et la reséparer.

Par exemple entre chaque paramètre tu fais un string comme ceci
param1<sep>param2<sep>... Et quand tu récupère le string tu l'explose en cherchant les <sep>.

Posté : 19 mai 2006, 11:48
par zeus
Si ce que tu cherches, c'est comment récupérer tous les inputs en Javascript, tu peut utiliser document.forms['formName'].getElementsByTagName("input") qui va te retourne la liste des inputs du formulaire formName

A partir de là, tu peut construire dynamiquement ta chaine en JS
var a_input = document.forms['formName'].getElementsByTagName("input");
var str_parametre = "monfichier.php?";
for (var i = 0; i < a_input.length; i++) {
  var input = a_input[i];
  str_parametre = str_paramete+"&"+input.getAttribute('name')+"="+input.value;
}