Bonjour,
Je génère une page dynamique où peuvent s'enchasser plusieurs formulaires.
Comme c'est pas bien, et afin d'éviter les impairs, je me contente de positionner des balises span au moment du chargement de la page, là où un formulaire pourrait prendre place.
L'utilisateur rentre ses données. Le bouton d'envoi appelle alors une fonction js submit(id, target, method) censée générer le formulaire et le soumettre.
Problème : comment faire ?
J'ai commencé par innerHTML, mais il m'efface les données entrées par l'utilisateur.
Il paraît que les fonctions DOM marchent mieux. Mais je ne vois pas comment je pourrais m'en tirer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 submit(id, target, method) { newspan = document.getElementById(id); newspan.innerHTML = "<form id='"+id+"' action='"+target+"' method='"+method+"'>"+newspan.innerHTML+"</form>"; }
Pour clarifier les idées, voici ce que j'ai initialement dans ma page :
Et ce que je veux, c'est ça (que le form soit avant ou après le span m'est évidemment égal) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <span id="idelement"> <div id='section1'>... <div id='soussection'> <input type='text' name='nom' > <input type='button' action="submit('idelement', 'record.php', 'POST')"> </div></div> </span>
J'ai beau essayer avec appendChild, replaceChild, ça veut pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <span id="idelement"> <form id='idelement_form'> <div id='section1'>... <div id='soussection'> <input type='text' name='nom' > <input type='button' action="submit('idelement', 'record.php', 'POST')"> </div></div> </form></span>
Et j'imagine que c'est pas si compliqué. Seulement, j'écris rarement du javascript.
Auriez-vous une idée ?
Merci d'avance et bonne journée,
Partager