In questo programma, se si clicca il pulsante "viaggia" e al prompt si danno i Km, la casella di testo di id="operazione" legge i calcoli con il parametro Km, mentre le due caselle di testo di id="KmPercorsi" e id="KmParziali", stranamente, non leggono neanche il solo valore dello stesso parametro Km, pur non bloccando il programma. Desidererei trovare una spiegazione. Grazie
lanvoel
codice:
<HTML>
<HEAD>
<TITLE>Esempio133</TITLE>
</HEAD>
<BODY BGCOLOR="blanchedalmond">
<H3>definizione di metodi</H3><HR>
Serbatoio: <INPUT TYPE="text" NAME="operazione" id="operazione" SIZE="20" VALUE="5 Litri"><br>
Km percorsi: <input type="text" id="KmPercorsi" name="KmPercorsi" size="30"><br>
Km parziali: <input type="text" id="KmParziali" name="KmParziali"size="30">
<BR>
<SCRIPT TYPE="text/javascript">
function Automobile(marca,modello,colore,cilindrata)
{
this.marca=marca;
this.modello=modello;
this.colore=colore;
this.cilindrata=cilindrata;
this.trazione;
//serbatoio viene inizializzato
this.carburante=5.0;
this.rifornimento = function (litri)
{
//controllo che non trabocchi
if(this.carburante+(litri*1)>=50) this.carburante=50;
else this.carburante+=(litri*1);
operazione.value=this.carburante+" Litri";
}
this.pieno = function ()
{
this.carburante = 50;
operazione.value=50+" Litri";
}
this.viaggia = function(km)
{
//consuma 10 km con un litro
//se minore di zero il metodo restituisce false
if (this.carburante-(km/10)>=0) this.carburante-= km/10;
else this.carburante=0;
operazione.value=this.carburante+" Litri";
KmParziali.value= Km*1
KmPercorsi.value=KmPercorsi.value+ Km*1;
}
}
//istanza di un oggetto punto
var punto = new Automobile("Fiat","Punto","rosso",1200);
</SCRIPT>
<INPUT TYPE="button" VALUE="Fai il pieno" onclick="punto.pieno()">
<INPUT TYPE="button" VALUE=" Viaggia " onclick="punto.viaggia(prompt('Km percorsi',''))">
<INPUT TYPE="button" VALUE=" Rifornisci " onclick="punto.rifornimento(prompt('litri?',''))"><br><br>
</BODY>
</HTML>