Salve a tutti. Vi chiedo in anticipo di scusarmi se non uso termini adeguati in alcuni punti o faccio alcuni errori formali, ma sto ancora imparando
Il mio problema:
Ho una funzione JavaScript che ha il compito di creare una lunga stringa che poi mi servirà da "esplodere" successivamente in un file PHP (che mi funziona perfettamente). Ho problemi con la generazione della stringa.
La stringa contiene, uno via l'altro, separati da virgole e lineette (ma questo lo potete vedere dallo script), una serie di ID di div contenuti in alcuni box della pagina php da cui è richiamata.
Questo stratagemma serve per leggere la condizione di alcuni box i cui elementi sono spostabili con un drag&drop (che mi funziona), per una successiva scrittura nel Database (che è a posto )
Questo è il codice (scusate l'immagine ma non riuscivo ad usare il Code formattando a modo. Vi riscrivo il codice anche in fondo)
Non riesco a trovare cosa non vada, ma in pratica quel che succede è che in fondo alla stringa, quando si dovrebbe chiudere, va ad appendersi un ulteriore id dell'ultimo elemento processato. In questo modo nella successiva pagina php quell'id innesca un ulteriore UPDATE mysql che va sempre a rimettere l'ultimo elemento nella terza colonna (ma questo è superfluo, in quanto conseguenza dell'errata scrittura della stringa).
Spero di essere stato abbastanza chiaro, e soprattutto che qualche anima pia. Sappia aiutarmi perché mi serve per una esercitazione il prossimo mercoledì.
Grazie in anticipo a chi potrà aiutarmi!!!
Ecco il codice:
// Funzione di scrittura della stringa che passa a save.php
function getItemContainerList(){
var ItemContList = '';
var nodeColl = document.getElementsByTagName('div');
for(var i=0; i<nodeColl.length; i++){
if(nodeColl[i].className=='DragBox')
{ var nodeCont = '';
nodeCont = nodeColl[i].parentNode;
ItemContList = ItemContList+nodeCont.id+'-'+nodeColl[i].id;
var virgola= i+1;
if(virgola<nodeColl.length){ItemContList = ItemContList+',';}
}
}
return ItemContList;
}
// Funzione da chiamare con il form save
function save_byForm()
{
document.myForm.elements['saveString'].value = getItemContainerList();
document.myForm.submit();
}