ciao a tutti, scusate ma sono poco esperto di javascript
ho questa pagina con questa funzioncina che funziona perfettamente :
Codice PHP:
<head>
<script language="javascript">
function calcolaricarico(sc,indice) {
var costo = parseFloat(sc.form.COSTO_ARTICOLO.value);
var prezzo = parseFloat(sc.value);
sc.form.RICARICO_ARTICOLO.value = Math.round(((prezzo-costo)/costo)*100);
}
</script>
</head>
<?php
echo "<form method=\"post\" action=\"destinazione.php\" name=\"listino\">";
$costo=100;$prezzo=120;
echo "Costo <input type=\"text\" name=\"COSTO_ARTICOLO\" value=\"$costo\">";
echo "Prezzo <input type=\"text\" name=\"PREZZO_ARTICOLO\" value=\"$prezzo\" onchange=\"calcolaricarico(this);\">";
echo "Ricarico <input type=\"text\" name=\"RICARICO_ARTICOLO\" value=\"\">
";
echo "</form>";
?>
Siccome però i dati contenuti nel form sono il risultato di una interrogazione di database la reale parte in php è la seguente:
Codice PHP:
<?php
echo "<form method=\"post\" action=\"destinazione.php\" name=\"listino\">";
$query="SELECT * FROM listini";
$result=mysql_query ($query);
while ($riga=mysql_fetch_array($result)) {
$indice = $riga[indice];
$costo = $riga[costo];
$prezzo = $riga[prezzo];
echo "Costo <input type=\"text\" name=\"COSTO_ARTICOLO[$indice]\" value=\"$costo\">";
echo "Prezzo <input type=\"text\" name=\"PREZZO_ARTICOLO[$indice]\" value=\"$prezzo\" onchange=\"calcolaricarico(this,".$indice.");\">";
echo "Ricarico <input type=\"text\" name=\"RICARICO_ARTICOLO[$indice]\" value=\"\">
";
}
echo "</form>";
?>
Il problema è che non so come assegnare il giusto nome alle proprietà COSTO_ARTICOLO e RICARICA_ARTICOLO che nel form ora sono degli array. Son riuscto a passare alla funzione il valore della var indice ed ho già verificato che funziona. lo script ora come ora mi restituisce l'errore sc.form.COSTO_ARTICOLO has no properties
Grazie in anticipo per le risposte, APSoft