|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
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. Code :
Pour clarifier les idées, voici ce que j'ai initialement dans ma page : Code :
Code :
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, |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
les formulaires imbriqués sont à proscrire ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Essaye ça :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
|
|
|
00
|
|
|
#5 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#6 | ||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
@Loceka
Merci pour la réponse. C'est peu ou prou ce que j'ai essayé de faire, à un détail près : j'ignore quel div viendra après le span. Par conséquent, je vise l'id et récupère ensuite le parent. Voici le code de mon essai avec ta suggestion. Code :
Avec appendChild(oldspan), la section entière disparaît, et aucun formulaire dans la page. Edit : J'oubliais -> si je remplace par formulaire.appendChild(parent), ça ne va pas mieux... |
||
|
|
00
|
|
|
#7 | |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
Citation:
De mon côté, les champs existent déjà : il me faut juste insérer la balise form quelque part tout en conservant les valeurs entrées par l'utilisateur. C'est tout... J'ai une solution "simplette" qui consisterait à mettre un <span> "début "et un <span> "fin" mais pour le coup, ça manque un peu d'élégance... |
|
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
ben sinon suffit de créer une balise form ...
puis de recupérer tous les champs et de les appender dans le form ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
C'est effectivement l'idée du code fourni par Loceka, mais testé sans succès. Peut-être la manière n'est-elle pas la bonne... mais d'accord avec toi : ça devrait être simple !
|
|
|
00
|
|
|
#10 | |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Citation:
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
|
00
|
|
|
#11 | |||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Citation:
![]() Donc un Code javascript :
parent.appendChild(formulaire); |
|||
|
|
00
|
|
|
#12 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
Ok, je crois que je vois l'erreur que j'ai commise, ainsi que la solution.
Merci à tous ! |
|
|
00
|
|
|
#13 | ||
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
Je sens que je vais passer pour un gros lourdeau...
La création du formulaire, ça marche. Le repositionnement au bon endroit dans la page, ça marche (j'ai dû générer un child spécial "id_content" pour résoudre la question). Par contre, la fonction devrait immédiatement soumettre le formulaire. Or la fonction submit() n'a aucun effet, alors qu'elle fonctionnait auparavant. Code :
![]() Update : il semble le soumettre, mais pas à la bonne page et revient automatiquement sur la page de départ... Je creuse. |
||
|
|
00
|
|
|
#14 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 91 ![]() |
Ce coup-ci, c'est bon.
Pour les curieux : Code :
newform.setAttribute("target", target); Code :
newform.setAttribute("action", target); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com