Ciao a tutti.
Sperando che qualcuno sia già incappato in questa tipologia di problema, vi espongo il mio.

Ho avuto la necessità di realizzare un form di inserimento dati, con la possibilità che alcuni campi venissero generati dall'utente in fare di inserimento.

l'esempio in questione, riguarda la compilazione di una scheda di un viaggio, e fin qui il problema non esiste, si presenta al momento che l'agenzia di viaggio inserisce i periodi; quindi: partenza,ritorno e relativo prezzo.

inizialmente la schermata prevede una riga con questi tre campi denominati: partenza[0], ritorno[0] e txt_prezzo[0].

il codice javascript per aggiungere le successive righe che ho utilizzato è il seguente:

codice:
var num=1;
function accoda(){
if(document.createElement && document.getElementById && document.getElementsByTagName) {
// crea elementi
var oTr=document.createElement("TR");
var oTd0=document.createElement("TD");
var oTd1=document.createElement("TD");
var oTd2=document.createElement("TD");
var oTd3=document.createElement("TD");
				
var oField=document.createElement("INPUT");
var oField1=document.createElement("INPUT");
var oField2=document.createElement("INPUT");
var oField3=document.createElement("INPUT");
				
// setta attributi
oField.setAttribute("type","text");
oField.setAttribute("name","partenza["+num+"]");
oField.setAttribute("id","partenza["+num+"]");
oField.setAttribute("size","10");
						
oField1.setAttribute("type","checkbox");
oField1.setAttribute("name","chk"+num);
						
oField2.setAttribute("type","text");
oField2.setAttribute("name","ritorno["+num+"]");	
oField2.setAttribute("id","ritorno["+num+"]");	
oField2.setAttribute("size","10");
						
oField3.setAttribute("type","text");
oField3.setAttribute("name","txt_prezzo["+num+"]");	
oField3.setAttribute("id","txt_prezzo["+num+"]");	
// appendi al relativo padre
oTd0.appendChild(oField1);
oTd1.appendChild(oField);
oTd2.appendChild(oField2);
oTd3.appendChild(oField3);
				
oTr.appendChild(oTd0);
oTr.appendChild(oTd1);
oTr.appendChild(oTd2);
oTr.appendChild(oTd3);
						
document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);
				
// incrementa variabile globale
num++
}
ed anche qui tutto bene, gli elementi vengono creati correttamente ed i periodi vengono salvati altrettanto correttamente nel database, mediante altro codice php.


il problema nasce se l'agenzia, di viaggio inserisce ad esempio due periodi, salva l'offerta, ma si accorge di avere bisogno di aggiungere altri periodi accodati ai precedenti, rientra nella schermata, trova all'interno della scheda i due periodi, ma nell'atto di accodarne uno nuovo, il contatore num; utilizzato nel javascript, riparte da 1 e non dall'ultimo ora presente nel form.

Vorrei in sostanza individuare l'ultimo periodo inserito: es partenza[4] e far ripartire il contatore per un nuovo inserimento dal numero 5.

Ho girato come un pazzo "googlando" ed anche all'interno di questo forum, ma non risco a trovare il modo di risolvere l'arcano.

Potete aiutarmi?