Rechercher : dans
Par :

JAVASCRIPT- formulaire tableau de données

Dernière réponse le 20 oct 2009 à 04:28:20 Tof, le 2 fév 2005 à 17:23:11 
 Signaler ce message aux modérateurs

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?

Meilleures réponses pour « JAVASCRIPT formulaire tableau de données » dans :
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Javascript - Les tableaux VoirIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...
Bases de données - Utilisation de formulaires VoirUtilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire...

1

gzav, le 2 fév 2005 à 17:54:47

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... :-)

Répondre à gzav

2

Tof, le 2 fév 2005 à 18:31:40

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...

Répondre à Tof

3

gzav, le 2 fév 2005 à 18:57:34

Tu écris cela dans une chaine de carac php ou dans un echo ?

si tu pouvais me montrer la ligne ?

Répondre à gzav

4

Tof, le 2 fév 2005 à 19:30:04

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.

Répondre à Tof

5

gzav, le 2 fév 2005 à 19:56:16

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

Répondre à gzav

6

Tof, le 2 fév 2005 à 20:25:12

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 ;-)

Répondre à Tof

7

gzav, le 2 fév 2005 à 21:29:02

C'est de ça dont je parlais comme truc simple pour les id des inputs.

Répondre à gzav

8

 tcyrill2, le 20 oct 2009 à 04:28:20

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.

Répondre à tcyrill2