JAVASCRIPT- formulaire tableau de données

Fermé
Tof - 2 févr. 2005 à 17:23
 tcyrill2 - 20 oct. 2009 à 04:28
Dans mon formulaire, je génère un tableau à 2 dimensions pour toutes les zones éditables :

<input type="text" name="saisie[$i][PAY_NUM_SOC]">

Une de ces zones doit faire appel à la fonction JAVASCRIPT :

<input type="text" name="saisie[$i][PAY_NUM_SOC]" onChange="document.formulaire.saisie[$i][PAY_NUM_SOC].value=1">

Il semblerait que JAVASCRIPT ne reconaisse pas du tout cette donnée du formulaire... La syntaxe est-elle incorrecte?
A voir également:

4 réponses

S'lu

je ne suis pas sur d'avoir saisi ce que tu comptes faire, si tu veux juste modifier la valeur d'un de tes inputs texte à 1, fais comme ceci :

<input type="text" name="nom_du_input" onChange="this.value=1;">

je ne sais pas si ça répond à ta question, sinon dis m'en plus... :-)
0
Pas vraiment... En fait, il s'agit ici de modifier le contenu d'une AUTRE zone du formulaire.
Le problème est que le nom de cette autre zone ce présente sous cette forme :

<input type="text" name="nimporte[ligne][zone]">

Il s'agit donc d'un tableau à 2 dimensions de données saisies.

Lorsque je passe cette information au JAVASCRIPT :

<onChange="document.formulaire.nimporte[ligne][zone].value=1">

Il n'intérprete pas du tout correctement cette information sur la donnée...
0
tu écris cela dans une chaine de carac php ou dans un echo ?

si tu pouvais me montrer la ligne ?
0
Chacune des zone du formulaire est représentée de la manière suivante :

echo "<td><input type=\"text\" name=\"tab_frm[$cpt][NOM_ZONE_1]\"></td>"

Où : $cpt est le compteur de lignes implémenté en PHP.

En fait, j'affiche le résultat d'un requête SQL sur plusieurs lignes et certaines zones d'un ligne sont modifiables... D'où le tableau pour les différent noms de zones.
0
j'ai essayé et effectivement ça merde, je pense que cela vient du fait que javascript accède aux éléments d'un formulaire par un tableau (tab_frm[o], tab_frm[1]...) et il doit se mélanger un peu

dans ce cas tu peux accéder à la valeur d'un input style <input type="text" id="12" value="hum"> par document.getElementById("12").value

essaie donc d'identifier tes inputs (id=) par un truc simple et tu pourras y accéder par ton évènement onChange de la façon décrite plus haut
0
Ok, merci. Mais c'est un petit peu touner en rond à mon avis car comme tu t'en doutes certainement le problème reste le meme pour identifier la zone. Je pense que je vais plutot faire de cette manière :

echo "<input name=\"nom_var1_$cpt_ligne\">";
echo "<input name=\"nom_var2_$cpt_ligne\">";
echo "<input name=\"nom_var2_$cpt_ligne\">";

etc ...

Ainsi : plus de tableau mais chaine de caractères variable ...

Si toutefois, tu trouvais une solution un peu plus orthodoxe ca m'intéresse. Je n'aime pas trop le bricolage ;-)
0
c'est de ça dont je parlais comme truc simple pour les id des inputs.
0
Bonjour,
je dépoussière ce sujet ....
est-ce qu'une source serait disponible par hasard ?
car je crois qu'il se rapproche de mon problème.

J'ai un formulaire nommé "classement" contenant un nombre aléatoire de <select> avec des "name" respectifs liste1, liste2, liste3, ...
... et je voudrai accéder aux options de chaque select dans une boucle du genre :

x=1;
while ( x<=10 )
{
alert(document.classement.'liste'+x.options[x]);
x++;
}

Seulement, il semblerait que l'on ne puisse pas utiliser de variables dans la description des éléments.

Quelqu'un peut-il confirmer ??
Merci.
0