Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

formulaire incrementale

1 réponse
Avatar
olivier
Bonjour,

J'ai ecrit une petite fonction javascript pour avoir un formulaire
incremental

function addIt(){
var in=document.getElementById('myzone');
var old=in.innerHTML;
in.innerHTML=old+"one more :<input type='text' name='foo[]' />";
return false;
}

et le code html qui va avec:

<div id='myzone'></div><button onclick='addIt()'>add one</button>


ca marche a peu pres : a chaque clic j'ajoute une nouvelle zone de
saisie de text mais si je la remplie et que je reclic, ca ajoute bien
une seconde zone mais ca efface le contenu de la premiere...
queqlqu'un sait comment eviter ca SIMPLEMENT ?


O.

1 réponse

Avatar
Olivier Miakinen

[...]
var old=in.innerHTML;
in.innerHTML=old+"one more :<input type='text' name='foo[]' />";
[...]

ca marche a peu pres : a chaque clic j'ajoute une nouvelle zone de
saisie de text mais si je la remplie et que je reclic, ca ajoute bien
une seconde zone mais ca efface le contenu de la premiere...


Tiens, pour une fois c'est moi qui vais citer la page de Stéphane
à propos des problèmes liés au machin non standard innerHTML :
http://stephane.moriaux.pagesperso-orange.fr/truc/innerHTML_danger

queqlqu'un sait comment eviter ca SIMPLEMENT ?


Tout dépend si, pour toi, la fonction cloneNode() est une chose simple
ou non. Il y a des exemples dans la page citée ci-dessus.