Fantastico!! Il problema sarebbero i commenti all'interno della span e mi basta spostare i commenti fuori dalla span per funzionare? Ci provo, e tra poco ti faccio sapere! Sei un Genio! Grazie del tuo aiuto, speriamo che funzioni.

P.S.: sì, i commenti sono i prezzi precedenti, quelli che ho messo scontati del 30% per la "Black Week" del sito.
Ah, Grazie anche a te Ciro78.
Quote Originariamente inviata da KillerWorm Visualizza il messaggio
Ciao

Risposta breve: nella tua pagina togli i commenti dagli span dove ci sta il prezzo.


io... ma solo 5 minuti per capire dove stava il problema

Risposta estesa:
Ho giocato un po' sulla pagina e spulciato nello script per verificare dove sta e cosa fa la funzione usata per aggiungere gli articoli al carrello.
Di fatto tale funzione (addToCart) si basa sul prezzo che è riportato sulla pagina, o meglio, preleva letteralmente il contenuto testuale che sta dentro lo <span> (quello che teoricamente dovrebbe contenere il valore del prezzo) sotto ogni relativo articolo, quindi ne fa un replace per eliminare, sostanzialmente, tutti i caratteri mantenendo solo le cifre numeriche e il punto.

Ora, dove sta il problema?

Prendiamo questo caso (il primo articolo di quella pagina):

codice:
<span class="item_price">15.00
                              €</span>
la funzione preleva il valore "15.00 €" (in teoria c'è anche un carattere di ritorno a capo ma poco cambia) quindi elabora il dato e restituisce il valore "15.00" ripulito da tutti i caratteri "inutili".

Fin qui tutto ok.
Prendiamo invece un caso dove avviene il problema (dove tu hai verificato che il prezzo viene aumentato di un centesimo), ad esempio il 6° articolo.

Cosa c'è esattamente dentro il relativo span del prezzo?

Dall'analisi degli elementi vedo questo:
codice:
<span class="item_price">9.50 €<!--6.65--></span>
C'è un commento HTML dentro lo span; presumo fosse solo un esempio di prezzo o forse un precedente valore mantenuto commentato per un qualche motivo... boh

Certo, è solo un commento che hai fini pratici non dovrebbe influire sulle funzionalità della pagina... o forse sì

Cosa avviene nella funzione addToCart?
Stessa storia di prima: la funzione prende l'intero valore trovato dentro lo span "9.50 €<!--6.65-->" quindi lo ripulisce dai caratteri inutili e restituisce esattamente il valore "9.506.65".

Nelle operazioni successive viene poi convertito nel valore numerico 9.506 attraverso un parseFloat; tale valore viene usato per eseguire le operazioni nel carrello anche se sulla pagina, nel carrello, questo valore è troncato alla seconda cifra decimale.

La causa è quindi la presenza di quei commenti dentro lo span, i quali contengono dei caratteri numerici che non dovrebbero essere considerati ma, di fatto, lo sono.

Per risolvere, in modo semplice, ripulisci i contenuti di quegli span, limitandoti ad inserire solo i prezzi e nulla di più.