Ciao.
Ho realizzato questo script che utilizza un linguaggio lato server ma che utilizza un linguaggio lato client per eseguire una moltiplicazione tra i campi del form:
codice:
<html>
<head>
<script language="javascript">
<!--
//Funzione Calcola
function calcola(frmObj, id)
{
//Totale Imponibile = (Imponibile meno sconto * Quantita)
frmObj["Totale_imponibile_" + id].value = parseFloat(frmObj["quantita_" + id].value) *
parseFloat(frmObj["imponibile_meno_sconto_" + id].value);
frmObj["Totale_imponibile_" + id].value = parseFloat(frmObj["Totale_imponibile_" + id].value).toFixed(2);
}
// -->
</script>
</head>
<body>
<%
If ID_FORNITORE <> "" then
strSQL = "SELECT * "
strSQL = strSQL & " FROM "
strSQL = strSQL & " FORNITORI "
strSQL = strSQL & " WHERE "
strSQL = strSQL & " ID_FORNITORE = " & ID_FORNITORE & " "
strSQL = strSQL & " ORDER "
strSQL = strSQL & " BY DESCRIZIONE_PRODOTTO ASC "
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open strSQL, objconn
If Not Rs.EOF Then
%>
<p style="margin-top: 0; margin-bottom: 0"></p>
<div align="center">
<table border="0" id="table3">
<tr>
<td CLASS='MARGIN'>Descrizione</td>
<td CLASS='MARGIN'>Confezione</td>
<td CLASS='MARGIN'>Quantità
Confezione</td>
<td CLASS='MARGIN'>Quantità</td>
<td CLASS='MARGIN'>Unità di
misura</td>
<td CLASS='MARGIN'>Prezzo
Unitario
[ € ]</td>
<td CLASS='MARGIN'>Prezzo
Confezione
[ € ]</td>
<td CLASS='MARGIN'>Tot.
Imponib.
[ € ]</td>
<td CLASS='MARGIN'>Iva %</td>
<td CLASS='MARGIN'>Totale
Iva</td>
</tr>
<% Do while NOT Rs.EOF %>
<tr>
<td>
<input type="text" name="descrizione_1" size="40" value="<%=Rs("DESCRIZIONE_PRODOTTO")%>" readonly
style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="confezione_1" size="8" value="<%=Rs("CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="quantita_confezione_1" size="8" value="<%=Rs("QUANT_CONFEZIONE")%>" readonly
style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="quantita_1" size="5" onblur="calcola(this.form, 1)" value="0.00"></td>
<td><input type="text" name="um_1" size="5" value="<%=Rs("UM")%>" readonly style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="imponibile_meno_sconto_1" size="5" value="<%=Rs("PREZZO_UNITARIO")%>" onblur="calcola(this.form, 1)"
style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="prezzo_confezione_1" size="8" readonly value="<%=Rs("PREZZO_CONFEZIONE")%>"
style="background-color: #C0C0C0"></td>
<td>
<input type="text" name="Totale_imponibile_1" size="5" readonly value="0.00"
style="background-color: #C0C0C0"></td>
<td><input type="text" name="Iva_1" size="5" value="0.00"></td>
<td>
<input type="text" name="Tot_iva_1" size="5" readonly value="0.00"
style="background-color: #C0C0C0"></td>
</tr>
<%
Rs.MoveNext
Loop
end if
Rs.Close
set Rs = nothing
objconn.Close
set objconn = nothing
end if
%>
</table>
</div>
</body>
</html>
Il problema è che lo script non esegue il calcolo previsto nella funzione javascript calcola o per meglio dire lo esegue quando dal database la query estrae soltanto un record, mentre non esegue nessun calcolo e non restituisce nessun errore quando i records estratti dal database sono più d'uno...
Non capisco perchè...
Grazie