Codice PHP:
// se passi un riferimento al form usalo al posto di document.prenotazione o (peggio perchè errore) solo prenotazione
// form potrebbe essere parola riservata in javascript
function DoCalc(f) {
// parseInt del value dell' option selezionata, ma sei certo che l' option abbia un value? (vedi sotto)
// parseInt restituisce NaN (Not a Number) se non è stato possibile convertire in intero
// ("120.67 euro" diventerebbe 120, "euro 120" diventerebbe NaN perchè la stringa inizia con caratteri non numerici)
n_sett=parseInt(f.settimane.options[f.settimane.selectedIndex].value, 10)
n_euro=parseInt(f.Appartamento.options[f.Appartamento.selectedIndex].value, 10)
// se la stringa è diventata un numero non puoi controllare che il valore sia vuoto, devi controllare che sia un numero
if (isNaN(n_sett) || isNaN(n_euro)) {
alert("inserisci la data");
}
else {
// ora puoi ottenere e scrivere nel campo il prodotto dei due numeri
message= (n_sett * n_euro);
f.totale.value=message
}
}
da richiamare con
<input type="button" value="calcola" onclick="DoCalc(this.form)" />
veniamo alla questione del value, questo
codice:
<script type="text/javascript">
function appartamentiDelMese(indice){
Mese0 = ["Appartamento A euro 480"]
Mese1 = ["Appartamento A euro 480"]
Mese2 = ["Appartamento A euro 480"]
Mese3 = ["Appartamento A euro 480"]
Mese4 = ["Appartamento A euro 480"]
Mese5 = ["Appartamento A euro 480"]
Mese6 = ["Appartamento A euro 680"]
Mese7 = ["Appartamento A euro 680"]
Mese8 = ["Appartamento A euro 680"]
Mese9 = ["Appartamento B euro 440"]
Mese10 = ["Appartamento B euro 440"]
Mese11 = ["Appartamento B euro 440"]
var selectApp = document.forms['prenotazione'].Appartamento
selectApp.options.length = 0
for(i=0;i<window["Mese"+indice].length; i++)
selectApp.options[i] = new Option(window["Mese"+indice][i])
}
mi suona un po' strano, vuoi scrivere sempre un' unica option?
da quello che leggo qualsiasi sia il mese avrai un solo valore in array
a che pro un array e a che pro ciclarvi?
inoltre così facendo
new Option(window["Mese"+indice][i])
assegni solo il testo dell' option e non il value
new Option(testo,value)
da qui probabilmente l' impossibilità di ottenere il prodotto
se spieghi meglio come/quando/perchè richiami appartamentiDelMese vediamo di sistemarlo
(sempre che tu non vi riesca da solo)
ciao