Nota: lo script dovrebbe stare dentro la head o il body. Nel tuo caso mettilo nella head.
La funzione makeTotale() deve ritormnare false se non vuoi che il modulo venga spedito, true se vuoi che venga spedito.
Il default (se non specifichi nulla) riturna ture.
La variabile selectedIndex non mi piace (potrebbe essere riservata in questo contesto), per cui ne andrebbe modificato il nome.
Alla funzione makeTotale() tu passi l'oggetto deol form dove fai il calcolo, usalo poi dentro la funzione:
codice:
function makeTotale(ff) {
//alert ('aa : '+ ff.Abonnamento.selectedIndex);
var selInd = ff.Abonnamento.selectedIndex+1
if (selInd == 1) { // prezzo de la linea uno di "abbonamento" in Euro
ff.totale_euro.value=74.99;
} else if (selInd == 2) { // prezzo de la linea due di "abbonamento" in Euro
ff.totale_euro.value=98.90;
} else if (selInd == 3) { // prezzo de la linea tre di "abbonamento" in Euro
ff.totale_euro.value=199.10;
}
//alert ('totale_euro = '+ ff.totale_euro.value)
return true;
}
Comunque la tua funzione non fa un test, per cui non puo` discriminare se inviare o meno il form.
Manca ancora qualcosa che mi sfugge.
....
Trovato.
Alla fine dello script devi fare poi il controllo:
Dato che deve essere fatto tutto all'invio del form, nonha senso chiamare due funzioni.
Vedi questa modifica:
codice:
function makeTotale(ff) {
//alert ('aa : '+ ff.Abonnamento.selectedIndex);
var selInd = ff.Abonnamento.selectedIndex+1
if (selInd == 1) { // prezzo de la linea uno di "abbonamento" in Euro
ff.totale_euro.value=74.99;
} else if (selInd == 2) { // prezzo de la linea due di "abbonamento" in Euro
ff.totale_euro.value=98.90;
} else if (selInd == 3) { // prezzo de la linea tre di "abbonamento" in Euro
ff.totale_euro.value=199.10;
}
//alert ('totale_euro = '+ ff.totale_euro.value)
if(ff.pivacod.value == "") {
alert('Inserire il dato relativo alla Partita Iva o al Codice Fiscale');
return false;
}
return true;
}
Togli naturalmente l'altrea funzione e la sua chiamata.
Ciao
Michele