Salve ragazzi, sono nuovo del forum, volevo chiedervi un aiuto riguardo una funzione che non riesco ad integrare nel mio script, in pratica ho creato uno script con una tabella composta da form, nella prima colonna ci sono i prezzi fissi, nella seconda colonna ci sono delle commissioni su cui l'utente può interagire, e nella terza il totale della prima + la seconda, pertanto sono riuscito a fare anche la funzione inversa ovvero modificando il totale anche la commissione (ovvero la seconda colonna su cui l'utente può interagire) varia e viene calcolata la differenza; quello che vorrei fare e su cui chiedo il vostro aiuto è farmi dare l'errore quando nell'ultima colonna del totale viene inserito un valore inferiore del prezzo fisso (che è nella prima colonna).
Grazie mille in anticipo pertanto posto qui il mio codice dello scipt in attesa di una vostra risposta.
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js">
</script>
<script language="javascript" type="text/javascript">
function startCalc(){
interval = setInterval("calc()",3);
}
function startCalcDifference(formNumber){
functionSelector="calcDifferenceMat('"+formNumber+ "')";
intervalDifference = setInterval(functionSelector,3);
}
function calcDifferenceMat( formNumber){
pbSelector="prezzoBase_"+formNumber;
pSelector="prezzo_"+formNumber;
commSelector="commissione_"+formNumber;
pb= (document.getElementById(pbSelector).value)*1;
price= (document.getElementById(pSelector).value)*1;
console.log(pb);
console.log(pSelector);
console.log(price);
document.getElementById(commSelector).value=price -pb;
}
function calc(){
pb1=document.formSommatoria.prezzoBase_1.value;
com1 = document.formSommatoria.commissione_1.value;
p1= document.formSommatoria.prezzo_1.value;
document.formSommatoria.prezzo_1.value = (pb1 * 1)+(com1 * 1); <!--important-->
pb2 = document.formSommatoria.prezzoBase_2.value;
com2 = document.formSommatoria.commissione_2.value;
document.formSommatoria.prezzo_2.value = (pb2 * 1)+(com2 * 1);
pb3 = document.formSommatoria.prezzoBase_3.value;
com3 = document.formSommatoria.commissione_3.value;
document.formSommatoria.prezzo_3.value = (pb3 * 1)+(com3 * 1);
pb4 = document.formSommatoria.prezzoBase_4.value;
com4 = document.formSommatoria.commissione_4.value;
document.formSommatoria.prezzo_4.value = (pb4 * 1)+(com4 * 1);
}
function stopCalc(){
clearInterval(interval);
}
function stopCalcDifference(){
clearInterval(intervalDifference);
}
</script>
</head>
<body onload="calc();">
<form name="formSommatoria">
<table>
<tr id="titolo_campo">
<td>txt</td>
<td>price</td>
<td>commission</td>
<td>tot</td>
</tr>
<tr>
<td>Materiale 1</td>
<td><input type=text id="prezzoBase_1" value="150" onBlur="stopCalc();" disabled>
</td>
<td>
<input type=text id="commissione_1" value="" onFocus="startCalc();"onBlur="stopCalc();">
</td>
<td>= <input type=text id="prezzo_1" onFocus="startCalcDifference('1');" onBlur="stopCalcDifference();">
</tr>
<tr>
<td>Materiale 2</td>
<td><input type=text id="prezzoBase_2" value="150" onBlur="stopCalc();" disabled>
</td>
<td>
<input type=text id="commissione_2" value="" onFocus="startCalc();"onBlur="stopCalc();">
</td>
<td>= <input type=text id="prezzo_2" onFocus="startCalcDifference('2');" onBlur="stopCalcDifference();">
</tr>
<tr>
<td>Materiale 3</td>
<td><input type=text id="prezzoBase_3" value="150" onBlur="stopCalc();" disabled>
</td>
<td><input type=text id="commissione_3" value="" onFocus="startCalc();"onBlur="stopCalc();">
</td>
<td>= <input type=text id="prezzo_3" onFocus="startCalcDifference('3');" onBlur="stopCalcDifference();">
</tr>
<tr>
<td>Materiale 4</td>
<td><input type=text id="prezzoBase_4" value="150" onBlur="stopCalc();" disabled>
</td>
<td><input type=text id="commissione_4" value="" onFocus="startCalc();"onBlur="stopCalc();">
</td>
<td>= <input type=text id="prezzo_4" onFocus="startCalcDifference('4');" onBlur="stopCalcDifference();">
</tr>
</table>
</form>
</body>
</html>
PS: scusatemi che non ho dichiarato le variabili, ma il codice è un pò da sistemare.