Bonjour-bonsoir à tous.
Je précise que j'ai cherché une réponse à mon problème, mais je n'ai rien trouvé. Est-il trop spécifique, ou est-ce que je ne sais pas interroger Google...?
J'ai déjà parlé il y a une quinzaine de mon programme de gestion d'une base de données de comptabilité : Il y a du PHP-MySQL, du HTML/CSS et du javascript, c'est compliqué et il y a beaucoup de code.
Le principe est le suivant : on lit la base de données, et on affiche ses enregistrements dans une table. L'utilisateur peut cliquer dans une ligne de cette table, et l'enregistrement est alors présenté dans un formulaire. Il peut modifier les champs, et cliquer sur un bouton pour sauvegarder les nouvelles données, ou sur un autre bouton pour créer un nouvel enregistrement.
Les données sont transmises en POST, et l'action est vide, c'est à dire que le programme invoqué est le programme actuel.
Maintenant, voici le problème : suivant telle ou telle particularité de l'enregistrement choisi, il y a deux formulaires, mais beaucoup de données sont communes aux deux. Une donnée typique se présente comme ceci :
Bien entendu, le contenu de la donnée est rempli à partir de la base de données, en javascript, puis vérifié avant envoi, toujours en javascript.
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" name="donnee1">
Mais s'il y a deux formulaires avec 'donnee1' en commun, je vais me retrouver avec getElementsByName("donnee1")[0] et getElementsByName("donnee1")[1] !
L'idée pour contourner ce problème serait de situer cet "<input>" en dehors de tout formulaire, et de fixer son attribut "form" dans le programme javascript qui va le soumettre.
J'ai essayé, et ça n'a pas marché.
Voici le code pour soumettre le formulaire "Saisie" :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function executer(bouton) { document.getElementsByName('Fonct')[0].value='ligne'; document.getElementsByName('Act')[0].value=bouton; document.getElementsByName('Fonct')[0].form="Saisie";; document.getElementsByName('Act')[0].form="Saisie";; document.Saisie.submit(); }
Si quelqu'un peut m'aider, qu'il soit remercié.
AMIcalement.
Partager