salve,
in un form di ordinazione prodotto.. in questa pagina faccio vedere l'elenco e faccio scegliere la modalità pagamento.
select pagamento
-> contrassegno aggiungo la spesa del contrassegno e ricalcolo il totale
->bonifico nascondo e rimuovo la spesa del contrassegno e ricalcolo
->carta idem
->rimessa diretta.. setto a zero le spese di spedizione
ora siccome mi devo ricordare qst spese spedizione le salvo in due campi hidden spese e speseold
se seleziono qls option mi calcola tutto bene, se la cambio non fa nulla e firefox mi restituisce:
TypeError: document.getElementById(...) is null
nella riga:
document.getElementById('spese').value = document.getElementById('speseold').value;
codice:
<body>
<form name="modulo" action="ordine4_ins.php?risp=1" method="post" class="pure-form">
Cliente: <SELECT id="anagrafica" name="anagrafica" >
<OPTION VALUE="0">Sel. Cliente</OPTION>
<optgroup label="B" >
<OPTION value="56" >BAdheheh</OPTION>
</optgroup><optgroup label="C" >
<OPTION value="55" >Chdhgd</OPTION>
<OPTION value="51" >Cshhdsdh</OPTION>
</optgroup></select>
Modalita' Pagamento: <!-- onchange aggiunge spese di spedizione -->
<select size="1" name="pagamento" id="pagamento" onchange="vis_contrassegno(this.value)">
<option value="0">Seleziona -></option>
<option value="contrassegno">Contrassegno</option>
<option value="bonifico">Bonifico Bancario</option>
<option value="carta di credito">Carta di Credito</option>
<option value="rimessa diretta">Rimessa Diretta</option>
</select>
<div id="banca" style="display: none;">Selezionare la Banca:<br><SELECT id="banche" name="banche" ><OPTION value="1" >Banca 1</OPTION><OPTION value="2" >banca 2</OPTION></select></div>
<br> <br>
<div class="tabella">
<div class="riga">
<div class="colonna1" style="height: 20px; line-height: 20px;" >Prodotto</div>
<div class="colonnadescr" style="height: 20px; line-height: 20px;" >Descrizione</div>
<div class="colonna2" style="height: 20px; line-height: 20px;" >Prezzo Uni.</div>
<div class="colonna3" style="height: 20px; line-height: 20px;" >Quantita'</div>
<div class="colonna4" style="height: 20px; line-height: 20px;" >Prezzo Totale</div>
</div>
<div class="riga" id="riga0" >
<div class="colonna1">
<input name="prodotti0" id="prodotti0" type="hidden" value="39" > <span title="Note Olf. Fiorite; Calde; Speziate EDP su Note di LA PETITE ROBE NOIRE ml.50" >08-6</span></div>
<div class="colonnadescr" id="colonnadescr_id0" >
Note Olf. Fiorite; Calde; Speziate EDP su Note di LA PETITE ROBE NOIRE ml.50</div>
<div class="colonna2" id="colonna2_id0" >
27.50 €</div>
<div class="colonna3">
1<input name="qty0" id="qty0" type="hidden" size=3 value="1" >
</div>
<div class="colonna4" id="colonna4_id0" >
27,50 €</div>
<input name="p_uni0" id="p_uni0" type="hidden" value="27.50" >
</div>
<div class="riga" id="riga1" >
<div class="colonna1">
<input name="prodotti1" id="prodotti1" type="hidden" value="29" > <span title="Note Olf. Fresche; Agrumate; Marine EDP su Note di ABERCROMBIE ML.50" >18-57</span></div>
<div class="colonnadescr" id="colonnadescr_id1" >
Note Olf. Fresche; Agrumate; Marine EDP su Note di ABERCROMBIE ML.50</div>
<div class="colonna2" id="colonna2_id1" >
24.50 €</div>
<div class="colonna3">
10<input name="qty1" id="qty1" type="hidden" size=3 value="10" >
</div>
<div class="colonna4" id="colonna4_id1" >
245,00 €</div>
<input name="p_uni1" id="p_uni1" type="hidden" value="24.50" >
</div>
<div class="riga" >
<div class="colonna1">
</div>
<div class="colonnadescr" >
</div>
<div class="colonna2" >
</div>
<div class="colonna3">
Sub-Totale:
</div>
<div class="colonna4" id="colonna4tot" >
272,50 €<input name="sub_totale" id="sub_totale" type="hidden" value="272.5" >
</div>
</div>
<div class="riga" >
<div class="colonna1">
</div>
<div class="colonnadescr" id="colonnadescr_bonus" >
</div>
<div class="colonna2" >
13,00 €<input name="prezzo_bonus" id="prezzo_bonus" type="hidden" value="13.00" >
</div>
<div class="colonna3">
1</div>
<div class="colonna4" >
13,00 €</div>
</div>
<div class="riga" >
<div class="colonna1">
</div>
<div class="colonnadescr" >
</div>
<div class="colonna2" >
</div>
<div class="colonna3">
Spedizioni:
</div>
<div class="colonna4" id="spese_id_col" >
3,00 €<input name="spese" id="spese" type="hidden" value="3.00" >
<input name="speseold" id="speseold" type="hidden" value="3.00" >
</div>
</div>
<div class="riga" id="contrassegno" style="display: none" >
<div class="colonna1">
</div>
<div class="colonnadescr" >
</div>
<div class="colonna2" >
</div>
<div class="colonna3">
Contrassegno:
</div>
<div class="colonna4" >
3,00 €<input name="contrassegno_costo" id="contrassegno_costo" type="hidden" value="3.00" >
</div>
</div>
<div class="riga" >
<div class="colonna1">
</div>
<div class="colonnadescr" >
</div>
<div class="colonna2" >
</div>
<div class="colonna3">
Totale:
</div>
<div class="colonna4" id="colonna4totale" >
288,50 €</div>
</div>
</div>
<input type="hidden" name="cont" id="cont" value="2" >
<input type="hidden" name="bonus" id="bonus" value="1" >
<input type="hidden" name="qty_tot" id="qty_tot" value="11" >
<br>
<input type="button" name="sub" value="Prosegui" onClick="Modulo3()" class="pure-button pure-button-primary">
</form>
</body>
codice:
function vis_contrassegno(paga) {
alert (paga);
switch (paga) {
case 'contrassegno':
document.getElementById('banca').style.display='none';
document.getElementById('contrassegno').style.display = 'block';
document.getElementById('spese').value = document.getElementById('speseold').value;
spese = parseFloat(document.getElementById('spese').value);
spese1 = spese.toFixed(2);
spese2 = spese1.replace('.', ',');
document.getElementById('spese_id_col').innerHTML = spese2 + ' €';
totale_tot = parseFloat(document.getElementById('sub_totale').value);
totale_tot += parseFloat(document.getElementById('prezzo_bonus').value);
totale_tot += spese;
totale_tot += parseFloat(document.getElementById('contrassegno_costo').value);
totale_tot1 = totale_tot.toFixed(2);
totale_tot2 = totale_tot1.replace('.', ',');
document.getElementById('colonna4totale').innerHTML = totale_tot2 + ' €';
break;
case 'bonifico':
document.getElementById('banca').style.display='block';
document.getElementById('contrassegno').style.display = 'none';
totale_tot = parseFloat(document.getElementById('sub_totale').value);
totale_tot += parseFloat(document.getElementById('prezzo_bonus').value);
document.getElementById('spese').value = document.getElementById('speseold').value;
alert('spese' + document.getElementById('spese').value);
alert('speseold' + document.getElementById('speseold').value);
spese = parseFloat(document.getElementById('spese').value);
spese1 = spese.toFixed(2);
spese2 = spese1.replace('.', ',');
document.getElementById('spese_id_col').innerHTML = spese2 + ' €';
totale_tot += spese;
totale_tot1 = totale_tot.toFixed(2);
totale_tot2 = totale_tot1.replace('.', ',');
document.getElementById('colonna4totale').innerHTML = totale_tot2 + ' €';
break;
case 'carta di credito':
document.getElementById('banca').style.display='none';
document.getElementById('contrassegno').style.display = 'none';
totale_tot = parseFloat(document.getElementById('sub_totale').value);
totale_tot += parseFloat(document.getElementById('prezzo_bonus').value);
document.getElementById('spese').value = document.getElementById('speseold').value;
spese = parseFloat(document.getElementById('spese').value);
spese1 = spese.toFixed(2);
spese2 = spese1.replace('.', ',');
document.getElementById('spese_id_col').innerHTML = spese2 + ' €';
totale_tot += spese;
totale_tot1 = totale_tot.toFixed(2);
totale_tot2 = totale_tot1.replace('.', ',');
document.getElementById('colonna4totale').innerHTML = totale_tot2 + ' €';
break;
case 'rimessa diretta':
document.getElementById('banca').style.display='none';
document.getElementById('contrassegno').style.display = 'none';
totale_tot = parseFloat(document.getElementById('sub_totale').value);
totale_tot += parseFloat(document.getElementById('prezzo_bonus').value);
document.getElementById('spese').value == '0';
document.getElementById('spese_id_col').innerHTML = '0,00 €';
totale_tot1 = totale_tot.toFixed(2);
totale_tot2 = totale_tot1.replace('.', ',');
document.getElementById('colonna4totale').innerHTML = totale_tot2 + ' €';
break;
}
}