Form Ordine (Selettore Quantità)

laLavatrice

Nuovo Utente
23 Apr 2008
7
0
0
Ciao a tutti!
Problemooone con un form d'ordine: ho una lista di prodotti che apre una pagina di riepilogo col totale. Bene, fin qui tutto ok.

Io vorrei associare un selettore (menu a tendina) delle quantità 1, 2, 3 etc. nella prima pagina e mi piacerebbe che questo input modificasse il totale nella seconda...

COme posso fare... c'è qualche anima pia (e capace!) che è in grado di aiutarmi???

Grazie


Allora in questa pagina c'è l'elenco di prodotti... <html>
<head>
<title>nn</title>
</head>

<body>
<form name=orderform action="conferma-ordine.htm">
<table>
<tr>
<td><input type=checkbox name=item1A value="L001-titolo1*35.00$"></td>
<td>titolo1</td>
</tr>
<tr>
<td><input type=checkbox name=item2A value="L002-titolo2*50.00$"></td>
<td>titolo2</td>
</tr>
</table>
<input type="submit" value="ACQUISTA!"><input type="RESET" value="Cancella">

</body>

</html>


... e in quest'altra il riepilogo col totale...
<html>
<head>
<title>conferma</title>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function decodeString() {
valNum = new Array();
valData = new Array();
var string, length, dataCount, orderData, grandTotal;
string = "" + unescape(location.search);
string = string.substring(1,string.length);
length = location.search.length;
orderData = "";
dataCount = 1;
for (var c = 0; c < string.length; c++)
if (string.charAt(c).indexOf("&") != -1) dataCount++;

orderData = "<table border=0 width='400px' cellpadding='2px' cellspacing='5px'>";
orderData += "<tr bgcolor='#CCCCCC'><td><div id='intestazione'>Item</div></td><td><div id='intestazione'>descrizione</div></td><td><div id='intestazione'>spesa</div></td></tr>";
grandTotal = 0;
for (var i = 0; i < dataCount; i++)
{
valNum = string.substring(0,string.indexOf("="));
string = string.substring(string.indexOf("=")+1,string.length);
if (i == dataCount-1) valData = string;
else valData = string.substring(0,string.indexOf("&"));
ampd = valData.indexOf("&");
pipe = valData.indexOf("-");
star = valData.indexOf("*");
line = valData.indexOf("$");
itemnum = string.substring(0,pipe);
itemdsc = string.substring(pipe+1,star);
itemcst = string.substring(star+1,line);
string = string.substring(ampd+1,string.length);

orderData += "<tr>";
orderData += "<input type=hidden name=item" + (i+1) + "num value='" + itemnum + "'>";
orderData += "<input type=hidden name=item" + (i+1) + "dsc value='" + itemdsc + "'>";
orderData += "<input type=hidden name=item" + (i+1) + "cst value='$" + itemcst + "'>";
orderData += "<td>" + itemnum + "</td>";
orderData += "<td>" + itemdsc + "</td>";
orderData += "<td>" + itemcst + "</td>";
orderData += "</tr>";
grandTotal += parseInt(itemcst);
}
orderData += "<tr bgcolor='#666666'>";
orderData += "<td colspan=2><div id='totale'>TOTALE</div></td><td><div id='totale'>" + grandTotal + ".00</div></td>";
orderData += "</tr>";
orderData += "<tr>";
orderData += "<td colspan=3 align=center><input type='submit' value='CONFERMA'><input type='button' value='Annulla' onClick='java-script:history.go(-1);'></td>";
orderData += "</tr>";
orderData += "<input type=hidden name=grandtotal value='$" + grandTotal + ".00'>";
orderData += "</table>";
document.write(orderData);
}
// End -->
</script>
</head>

<body>


<script language="JavaScript">
<!-- Begin
decodeString();
// End -->
</script>

</form>
</body>
</html>
 
Com'è-Come vorrei

Hai perfettamente ragione...

Qui trovi le due versioni del form, com'è ora e come la vorrei.
Funzionano! perciò se selezioni uno o più articoli e premi ACQUISTA ti troverai nella pagina "conferma-ordine.htm" con la tabella riassuntiva delle scelte.

Il punto è: come posso aggiungere allo script le quantità (Come vorrei...) in modo che saltino fuori nella tabella e mi si aggiorni il totale???

So che chiedo molto... ma sei l'unico che mi ha risposto per cui mi aggrappo con tutte le speranze...

Grazie
 
In sostanza voui far si che un prodotto che acquisti più volte venga conteggiato una volta sola, ma coltotale delle qantità?

Ad esempio una penna costa un euro, quindi se hai:

penna 1
penna 1
penna 1

non va bene ma vuoi:

penna 3

o non ho capito ancora nulla? :)
 
Certo che posso, è un semplice e-commerce :)

Qualche giorno fa ho scritto un articolo su come realizzare un carrello della spesa con ASP e AJAX. Si tratta di un esempio semplice semplice, atto "solo" a spiegare come creare il carrello, ma è bene precisare che un e-commerce è fatto di tante altre cose (gestione prodotti, utenti, ordini, banche, e cosi via).

Non è ancora online ma lo sarà la prossima settimana!!!

Ti che linguaggio lato server usi?
 
Azz... linguaggio-lato-server?

Beh, diciamo che speravo di cavarmela con un semplice javascript: non ho mire professionali...

Ho semplicemente trovato in rete questo script che si chiama "Confirmable Order Form" (lo puoi vedere in azione qui - mentre qui c'è il codice sorgente) e l'ho appiccicato ala mia pagina.

Il problema, come ti ho spiegato, è che non è contemplato per esempio un menu a tendina o un campo di testo dove inserire le quantità da aggiornare poi nella seconda pagina...

Puoi anche fare il miracolo di modificare il javascript?
 
Non ha molto senso creare il carrello della spesa lato cliente: le informazioni prima o poi devi inviarle al database e puoi farlo solocon ASP, PHP o altri.

Se gestisci il carrello con Javascript all'atto della conferma dell'ordine non hai modo di inviare i dati al database, anche se usi qualche escamotage, quindi tanto vale creare il carrello lato server.
 
Ehm... lo so che è irritante sprecare perle con principianti come il sottoscritto, ma sei un po' troppo "su" con le spiegazioni per me...

Provo a spiegarmi: una volta che ho premuto su "acquista", e che si è aperta l'altra pagina con la tabella riassuntiva, premi "conferma" e viene inviata la mail (tramite Formmail) sia a me (gestore del bookshop) sia a te che hai effettuato l'ordine.

Come meccanismo non è il massimo ma, a me, va benessimo... devo solo modificare lo script per le quantità
 
Non mi sono mica irritato :)

Il problema è che è concettualmente sbagliato quello che: una volta che torni indietro per gestire le quantità e modificarne il valore, perdi la quantità iniziale, a meno che non fai uno sforzo per gestire i cookie in Javascript ed è un macello.

Puoi tranquillamente gestire un carrello della spesa in maniera cosi semplice se vuoi, ma fallo con ASP o PHP a questo punto: ti assicuro che è MOLTO più semplice che impazzire dietro Javascript che non è adatto ad una cosa del genere.

Non è che non ti voglio aiutare col tuo script e modificarlo, ma non ha senso: è come chiedermi la via per andare in una determinata piazza della stessa città, facendo però il giro per gli Stati Uniti :)
 
Beh... detto così, devo confessare che sembra molto convincente. Ma...

ahimè, io sono come San Tommaso: se non vedo, non credo... quindi aspettando il tuo post sulla guida per e-commerce,

invito comunque tutti -anche te, prezioso lukeonweb- a cimentarsi (per sport?) alla modifica del mio script:

tanto il post sarà sempre aperto!!!
 

Discussioni simili