Ciao a tutti,
sto ideando un sistema DOM per la pubblicazione di messaggi, sono semplici, ogni messaggio viene incluso e stampato in un <div> dopo la pressione del link "invia". Per essere chiaro i passaggi sono questi:
1. click su link "commento" (presente inizialmente su pagina, non creato con DOM)
- appare textarea
- appare link "invia"
2. click su link "invia"
- appare div con il commento
- appare link "cancella" per cancellare
- appare link "commento" (creato con DOM per inserire altro messaggio in coda)
questa è la funzione per la eliminazione del div (contenente il messaggio utente) e del link per cancellare il div
codice:
codice:function delMessage() { var divToDel = document.getElementById("mess"+Num); //div con messaggio var linkToDel = document.getElementById("delMess"+Num); //link per cancellare var bodyTags = document.getElementsByTagName("body"); var thisBody = bodyTags[0]; thisBody.removeChild(divToDel); thisBody.removeChild(linkToDel); }
ogni div e ogni link "cancella" che viene creato ottengono un id progressivo dato dalla varibile globale "Num", la quale viene aumentata di 1 per ogni messaggio creato, ottengo così una situazione:
<div id="mess1">
messaggio utente...
</div>
cancella
<div id="mess2">
messaggio utente...
</div>
cancella
<div id="mess3">
messaggio utente...
</div>
cancella
il problema è che la funzione delMessage() richiamata da ogni link "cancella" prende come riferimento "l'ultimo" valore della varibile Num.. la quale per esempio dopo la creazione di 3 messaggi assume il valore "3". Così facendo quando si clicca su qualsiasi dei tre cancella viene cancellato solo il div con valore "mess3"..
Mi sto scervellando per capire come poter fare a cancellare ogni div con il suo cancella... sono nel pallone... bisogna forse usare ajax? o qualche altro mezzo?