Intanto ciao a tutti!
Io stò realizzando in un sito un carrello della spesa lato client in javascript utilizzando un frame nascosto. Il carrello funziona benissimo ma vorrei migliorare alcuni aspetti. Innanzitutto quando aggiungo lo stesso articolo nel carrello vorrei che invece di scrivermi due volte lo stesso articolo, dovrebbe scriverlo una volta sola magari aumentando la quantità è fattibile?
Queste sono le funzioni che ho utilizzato nel frame nascosto:
var numArt = 0
var carrelloOrdini = new Object
function aggArt(Descrizione, Prezzo, ArtNum) {
this.Descrizione = Descrizione
this.Prezzo = Prezzo
this.ArtNum = ArtNum
this.display = printItem
return this
}
function aggCarrello(Descrizione, Prezzo) {
carrelloOrdini[numArt] = new aggArt(Descrizione, Prezzo, numArt)
numArt = numArt + 1
alert(Descrizione + " è stato aggiunto al tuo carrello della spesa.")
}
function cancellaArt(ArtNum) {
delete carrelloOrdini[ArtNum]
anteprimaCarr()
}
function printItem(deleteFlag, TargetDocument) {
with (TargetDocument) {
write("<tr><td>" + this.Descrizione + "</td>")
write("<td align=right>€" + this.Prezzo + ",00</td>")
if (deleteFlag == true)
write("<td>Elimina</td>")
write("</tr>")
}
}
function anteprimaCarr() {
var totaleCarr = 0
with (top.main.document) {
write()
close()
write("....qui ci sono i tag per la visualizzazione...")
write("..........")
write("..........")
write(".........")
for (i in carrelloOrdini) {
totaleCarr = totaleCarr + carrelloOrdini[i].Prezzo
if (carrelloOrdini[i].ArtNum !=null)
carrelloOrdini[i].display(true, top.main.document)
}
write("<tr><td>Totale:</td><td align=right>€" + totaleCarr
+ ",00</td>")
write("<td></td></tr></table>
")
write("
</center></body></html>")
}
}