Bonjour à tous,
Avec le Web 2.0, j'ai vu qu'on pouvait modifier dynamiquement la page en manipulant le DOMHtml via Javascript.
J'ai un formulaire et plusieurs entrées (symbolisés par des champs texte). C'est l'utilisateur qui choisiera le nombre d'entrée qu'il y aura (avec un bouton "ajouter" par exemple).
Voici le formulaire de la page ASPX:
Dans le Javascript j'ai une section:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form id="form1" runat="server" action="MaPage.aspx"> <input type="text" id="text1" runat="server" /> </form>
A l'exécution, ce nouveau champ aparaît correctement dans ma page, je peux le remplir etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var nouveauTexte = document.createElement('input'); test.type = 'text'; // l'id sera généré dnamiquement par la suite test.id = 'text2'; // On ajoute le runat="server" même si ça change rien var testRunat = document.createAttribute('runat'); testRunat.nodeValue = "server"; test.attributes.setNamedItem(testRunat); // et on ajoute le champ au formulaire (a la barbar pour les tests) $('form1').appendChild(test);
Dans le code de la page:
J'ai également essayé en manipulant tout l'ajoute du nouveau champs via le DOM, ou encore en rajouter le texte de la balise directement à la fin du innerHTML du formulaire, mais rien à faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected void Page_Load(object sender, EventArgs e) { // Page.request["text1"] est bien présent // mais Page.request["text2"] = null }
Comment je peux faire pour rajouter dynamiquement des champs côté client et les retrouver côté serveur?
Merci beaucoup,
A bientôt
Partager