Salve, sto cercando di creare una pagina web per la realizzazione di fatture che preveda l'inserimento di varie righe dove è possibile selezionare tramite un campo select delle attività prese dal database e il relativo importo. Quest'ultimo deve essere editabile e devo poter calcolare uno sconto e ottenere il suo importo netto. Vorrei inoltre poter aggiungere e eliminare queste righe, e poi ottenere il totale di tutti gli importi netti selezionati. Non so se sono riuscito a spiegarmi, quindi lascio un link di quello che ho fatto:
http://www.olgiatapark.com/gestionale/forms/test.php
Sono riuscito, tramite uno script a risolvere praticamente la prima parte del problema, cioè il calcolo dello sconto dopo l'estrazione dell'importo in base all'opzione selezionata, e attraverso un altro script ho la possibilità di aggiungere ed eliminare le righe, ma nei cloni che ottengo non sono riuscito ad ottenere lo stesso risultato.
Posto il codice:
Molto probabilmente il problema sta nel 'name' che forse dovrebbe cambiare ad ogni aggiunta, ma non saprei come risolvere.
Ovviamente se qualcuno ha una soluzione diversa accetto ben volentieri i consigli.
Grazie come al solito per l'aiuto
http://www.olgiatapark.com/gestionale/forms/test.php
Sono riuscito, tramite uno script a risolvere praticamente la prima parte del problema, cioè il calcolo dello sconto dopo l'estrazione dell'importo in base all'opzione selezionata, e attraverso un altro script ho la possibilità di aggiungere ed eliminare le righe, ma nei cloni che ottengo non sono riuscito ad ottenere lo stesso risultato.
Posto il codice:
Codice:
<script type="text/javascript">
$(function(){
var removeLink = ' <a href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">elimina</a>';
$('a.add').relCopy({ append: removeLink});
});
</script>
<script>
var cont = 0;
function selezionaImporto(sel)
{
var id = sel.options[sel.selectedIndex].value;
document.form.selectValue.value = id;
<?php
$quary = "SELECT id, importo FROM $tablePrestazioni";
if ($result = mysqli_query($mysqli_connect, $quary))
{
while ($row = mysqli_fetch_array($result))
{
?>
importoDB = "<?php print $row[0] ?>";
if (importoDB == id)
{
document.form.importo.value = '<?php echo $row[1]?>';
}
<?php
}
}
?>
document.form.conta.value = cont;
}
function calcolaSconto()
{
var percentuale = document.form.sconto.value;
var importo = document.form.importo.value;
var totSconto = (percentuale * importo) / 100;
var totImporto = importo - totSconto;
document.form.totale.value = totImporto;
}
</script>
HTML:
<form name="form">
<div class="clone">
<select name="prestazione" onchange="selezionaImporto(this)" onmousemove="calcolaSconto()">
<option value="" selected> Scegli
<option value="1"> Opzione 1
<option value="2"> Opzione 2
<option value="3"> Opzione 3
</select>
<label>id:</label><input type='text' name='selectValue'>
<label>importo lordo:</label><input type='text' name='importo'>
<label>percentuale sconto:</label><input type='text' name='sconto' onmousemove="calcolaSconto()" onfocus="calcolaSconto()" onchange="selezionaImporto(this)">
<label>importo netto:</label><input type='text' name='totale' onfocus="calcolaSconto()">
<a href="#" class="add" rel=".clone" onClick="aggiungi();">aggiungi<br></a>
</div>
</form>
Molto probabilmente il problema sta nel 'name' che forse dovrebbe cambiare ad ogni aggiunta, ma non saprei come risolvere.
Ovviamente se qualcuno ha una soluzione diversa accetto ben volentieri i consigli.
Grazie come al solito per l'aiuto