ciao gente.
sto costruendo una paginetta con un pò di ajax.
l'utente genera dei campi che vicino hanno degli input text.
usando ajax riesco a fare quasi tutto, solo che se l'utente AGGIUNGE altri campi, usando un semplice innerHTML, i campi del form si resettano.
ho pensato di usare allora l'aggiunta coi DOM, creando nella pagina php che elabora i risultati, invece di un valore secco, una stringa javascript che crea i figli e dovrebbe inserirli al punto giusto.
solo che se uso innerHTML per visualizzare il "responseText" o document.write, mi visualizza la stringa invece che la formattazione!
![]()
le righe commentate erano la versione precedente, quella che appendeva il contenuto con innerHTML, ma che si perdeva i valori degli input field.codice:ajax.js function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState == "complete"){ // iH = document.getElementById("nomi_generati").innerHTML; //document.getElementById("nomi_generati").innerHTML = xmlHttp.responseText; document.write(xmlHttp.responseText) ; } // iH = document.getElementById("nomi_generati").innerHTML; }
così pensavo di appendere al tbody chiato "nomi_generati" le righe che creo.Codice PHP:pagina server
$Otabella = "var col = document.createElement(\"TD\");
col.setAttribute('style', 'width: 50%');
col.setAttribute('valign','center');
col.innerHTML = ".($nome)."-".($cognome)."
var riga = document.createElement(\"TR\");
var hid = document.createElement(\"INPUT\");
hid.setAttribute('type','hidden');
hid.setAttribute('name','hid_nome_$n');
hid.value = ".($nome)."-".($cognome).";
var inp = document.createElement(\"INPUT\");
inp.setAttribute('type','hidden');
inp.setAttribute('name','nome_$n');
inp.setAttribute('class','piccolo');
col.AppendChild(hid);
col.AppendChild(inp);
col.innerHTML = [img]immagini/salva_nome.png[/img];
riga.AppendChild(col);
document.getElementById('nomi_generati').AppendChild(riga);
";
echo $Otabella;
solo che non mi si visualizzano loro, ma il codice!
ciao e grazie.

Rispondi quotando