buongiorno a tutti con molta fatica e con l'aiuto di voi sono riuscito a costruire questo piccolo script da incorporare in semplici pagine html che esegue un calcolo e lo stampa a video instantaneamente.
Vi chiedo gentilmente valutando il codice sottostante se fosse possibile riuscire ad inserire
un ulteriore tasto in aggiunta a quello già presente che invii le variabili ad una pagina php tramite i campi nascosti. lasciando inalterata la funzione del tasto calcola.
grazie a tutti
<html>
<head>
<script type="text/javascript">
var esito={base:false,altezza:false,prezzo:false,listi no:false}
function def_focus(param){
param.style.backgroundColor="white";
param.form.calcola.disabled=false;
}
function eseguiCalcolo(form){
var check=false;
for (var i in esito) {
controlla(form.elements[i]);
if (esito[i]==false){
alert("Operazione non valida!\nPerfavore controllare i campi.");
check=true;
break;
}
}
if (check) {
form.elements[i].style.backgroundColor="red";
form.calcola.disabled=true;
document.getElementById("totale").innerHTML='0.00' ;
}
else calcola();
function controlla(field) {
var value=(field.value.indexOf(','))?field.value.repla ce(',','.'):field.value;
if (value=="" || isNaN(parseFloat(value)) || parseFloat(value)==0) esito[field.name]=false;
else esito[field.name]=value;
}
function calcola(){
var base=parseFloat(esito.base);
var altezza=parseFloat(esito.altezza);
var prezzo=parseFloat(esito.prezzo);
var listino=parseFloat(esito.listino);
var result=((base*altezza)*listino)*prezzo;
document.getElementById("totale").innerHTML=Math.r ound(result*100)/100;
}
}
</script>
</head>
<body>
<form name="mioform" onsubmit="return false">
<fieldset style="float:left">
<table>
<tr height="30">
<td align="right">MATERIALE</td>
<td align="left">
<select name="listino">
<option value="0.01" selected>Adesivi Prespaziati PVC Intaglio Monocolore</option>
<option value="0.008">Adesivi Stampati PVC Multicolore</option>
<option value="0.0085">Adesivi stampati PVC Multicolore fustellati</option>
<option value="0.004">striscioni in PVC 600 gr intaglio monocolore</option>
<option value="0.007">striscioni in PVC 600 gr multicolore</option>
<option value="0.012">Cartelli Polionda Intaglio Monocolore spessore mm5</option>
<option value="0.012">Cartelli Polionda Multicolore spessore mm 5</option>
<option value="0.014">Cartelli PVC Forex Intaglio Monocolore mm 5</option>
<option value="0.014">Cartelli PVC Forex Multicolore mm 5</option>
<option value="0.015">Cartelli Magnetici Intaglio Monocolore</option>
<option value="0.015">Cartelli Magnetici Multicolore</option>
</select>
<tr>
<td><span>Inserisci larghezza</span></td>
<td><input type="text" name="base" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td><span>Inserisci lunghezza</span></td>
<td><input type="text" name="altezza" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td><span>Inserisci pezzi</span></td>
<td><input type="text" name="prezzo" onfocus="def_focus(this)"></td>
</tr>
<tr>
<td style="padding-top:1em"><input type="button" name="calcola" value="Calcola" disabled="false" onclick="eseguiCalcolo(this.form)"></td>
<td style="padding-top:1em;text-align:right;">Tot € <span id="totale">0.00</span></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>