avrei due richieste:
1)ho bisogno di gestire lo stesso evento tramite uno script in javascript in alcuni bottoni creati tramite un form in html ma che gli ho dato lo stesso id che richiamano la stessa funzione dello script che a seconda del bottone esce un risultato differente dentro una casella di testo. si può fare? se si come si fa?
ecco il codice che fatto della pagina che riguarda una calcolatrice in javascript:
codice:
<html>
<head>
<style type="text/css" >
.label{
font-weight:bold;
}
.body{
font-family:Tahoma, Geneva, sans-serif;
color:#000;
}
.bottoni{
color:#F00;
font-weight:bold;
}
.risultato{
color:#00F;
font-weight:bold;
}
</style>
<title>calcolatrice</title>
<script type="text/javascript" language="javascript">
function calcolare(){
try{
primo= parseFloat(document.calcolatrice.primo.value);
secondo= parseFloat(document.calcolatrice.secondo.value);
}catch(exeception ){
alert("iserisci solo numeri!");
primo="";
secondo="";
}
if(primo=="" && secondo==""){
alert("iserisci i valori richiesti!");
}else if(primo=="" || secondo==""){
alert("iserisci i valori mancanti...");
}else{
if( parseFloat(document.getElementById("bottone").value)==0){
val = primo+seoondo;
risultato = document.calcolatrice.risultato.value=val;
}else if(parseFloat(document.getElementById("bottone").value)==1 ){
valdue = primo-seoondo;
risultato = document.calcolatrice.risultato.value=valdue;
}else if(parseFloat(document.getElementById("bottone").value)==2){
valtre = primo*seoondo;
risultato = document.calcolatrice.risultato.value=valtre;
}else if( parseFloat(document.getElementById("bottone").value)==3){
valquattro = primo/seoondo;
risultato = document.calcolatrice.risultato.value=valquattro;
}else if(parseFloat(document.getElementById("bottone").value)==4 ){
valcinque = Math.pow(primo,secondo);
risultato = document.calcolatrice.risultato.value=valcinque;
}else if(parseFloat(document.getElementById("bottone").value)==5){
valsei = Math.pow(secondo,primo);
risultato = document.calcolatrice.risultato.value=valsei;
}else if( parseFloat(document.getElementById("bottone").value)==6){
valsette = Math.pow(primo,(1/secondo));
risultato = document.calcolatrice.risultato.value=valsette;
}else{
valotto =Math.pow(secondo,(1/primo));
risultato = document.calcolatrice.risultato.value=valotto;
}
}
}
</script>
</head>
<body class="body">
<form action="" name="calcolatrice">
<table>
<tr>
<td><label class="label">primo numero:</label></td>
<td><input id="primo" type="text" value=""></input></td>
</tr>
<tr>
<td><label class="label">secondo numero:</label></td>
<td><input id="secondo" type="text" value=""></input></td>
</tr>
<tr>
<td><input id ="bottone"type="button" class="bottoni" value="somma"onClick=" calcolare()" ></input></td>
<td><input id ="bottone"type="button" class="bottoni" value="differenza" onClick=" calcolare()"></input></td>
<td><input id ="bottone" type="button" class="bottoni" value="prodotto"onClick= "calcolare()"></input></td>
<td><input id ="bottone" type="button" class="bottoni" value="quoziente"onClick=" calcolare()"></input></td>
<td><input id ="bottone"type="button" class="bottoni" value="elevazioneA"onClick=" calcolare()"></input></td>
<td><input id ="bottone"type="button" class="bottoni" value="elevazioneB"onClick=" calcolare()"></input></td>
<td><input id ="bottone"type="button" class="bottoni" value="radA"onClick=" calcolare()"></input></td>
<td><input id ="bottone"type="button" class="bottoni" value="radB"onClick=" calcolare()"></input></td>
</tr>
<tr>
<td><label class="risultato">risultato:</label></td>
<td><input id="risultato" type="text" value="" readonly="readonly" disabled="disable"></input></td>
</tr>
</table>
</form>
</body>
</html>
praticamente la calcolatrice è pronta con tanto di stili solo che manca l'if che serve per quello che voglio.
2)poi se è esiste un qualcosa in javascript per formattare il risultato finale. come il decimalformat del java. lo so che il java e javascrip sono due liguaggi diversi di comune c'è solo il nome o poche altre cose ma o citato il liguaggio per farmi capire cosa intedevo per formattare il risultato finale.