Dovresti usare, javascript, con jQuery.append.
ecco come:
codice:<html> <head> <style> body{padding:0; margin:0;} #insert{/*È il campo con il textfield da riempire con il nome che si vuole dare al campo che si sta per creare */ padding:0; margin:0; position:absolute; left:50%; top:50%; background-image:url(img/BR1Back2.gif); margin-left:-150px; margin-top:-150px; width:300px; height:190px; display:none; opacity:1; text-align:center; padding-top:110px; } #over_flow{/*Serve per creare un piccolo effetto overFlow per creare il campo*/ padding:0; margin:0; position:absolute; width:100%; height:100%; background-color:#666666; opacity:0.8; display:none; } .plus{/*Mi gestisco gli effetti sul simbolo più per renderlo "più interattivo"*/ cursor:pointer; } .plus:hover{ text-decoration:underline; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.js"></script> <script> function nascondi(){//Nascondo i div Overflow(un mega div con trasparenza per creare il distacco dal resto della pagina) e Insert un div con il campo da riempire con il nome del campo che stiamo per creare, viene richiamata quando clicco sull'overFlow $('#insert').fadeOut(0,0); $('#over_flow').fadeOut(0,0); } function mostra(){// funzione iinversa di quello sopra, viene chiamata quando si clicca su uno dei più che stanno accanto ai campi $('#insert').fadeIn(0,1); $('#over_flow').fadeIn(0,1); } function crea(){//WOWOWO ci siamo Funzione cre richiamata quando clicco su "Crea Campo" var name=$('#nome_campo_nuovo').val();//Prendo il valore del campo con id=nome_campo_nuovo name=name.split(' ').join('_')//Sostituisco gli spazi con gli _(underscore) nel contenuto della variabile name if(name!=null && name!="" && name!="_"){//se la variabile name contiene altro oltre ad un underscore o se NON contiene ""(cioè se non contiene il non nulla) allora: $('form').append("<label>"+name+"</label><input type='text' name='"+name+"' id='"+name+"'/><span class='plus' onclick='mostra()'>+</span> ");//appendo al div con id=campi nuovi il codice che mi crea un nuovo textField che ha come label e come name e id il nome inserito nel apposito campo } else// la variabile name è nulla o vuota o ha un solo _(underscore) allora mi fa un alert e mi avverte dell'errore. alert('Nome campo errato!'); nascondi(); } </script> </head> <body background="img/bg.png" text="#FFFFFF"> <div id="over_flow" onclick="nascondi()"></div> <div id="insert"> <label>Nome campo:</label><input type="text" name="nome_campo_nuovo" id="nome_campo_nuovo" /> Crea Campo </div> <div> <form action="img/tuapagina_php.php" method="post"> <label>Nome</label><input type="text" name="nome" /><span class="plus" onclick="mostra()">+</span> <div id="campi nuovi"></div> </form> </div> </body> </html>
E nella pagina php quando ricevi i dati inviati dal form tramite GET o POST dovrai scorrere l'array POST per vedere che cosa ti entra e che nome ha.. oppure crei nello script di Javascript un sistema che ti crea i campi con id sequenziale, resta il problema di identificare il campo se fai così... oppure fai tu delle checkbox con varie scelte senza far viaggiare troppo di fantasia i tuoi utenti. e tu hai un range di ID, chiaramente ogni id si può ripetere solo una volta quindi dovrai disabilitare la check box... queste sono solo miei consigli l'esempio ce l'hai... ciao!
![]()

Rispondi quotando