Piccolo form

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Ciao a tutti,
ancora una volta sto litigando con il mio piccolo form e vengo a chiedervi aiuto.

Ecco qui la porzione di codice in questione:
PHP:
   Costo Licenze: <input type="text" id="licenze" size=15><br>
   Iva:   	  <input type="text" id="iva" size=15><br>
   Totale: 	  <input type="text" id="costototale" size=15><br>

----------------------------------------------------------<br>
   <form>

	Nazionalità: 
   <select id="sss" size="1" name="nazione" onChange="...">
  	<option selected value=0>seleziona</option>
	   <option value=1,Italia>Italia</option>
   	   <option value=0,Estero>Estero</option>
   <select> <br />

	N° Licenze:  
   <select id="sss" size="1" name="licenze" onChange="CalcolaLicenze(this.options[this.selectedIndex].value)">
   	<option selected value=1>1</option>
	   <option value=2> 2</option>
	   <option value=3> 3</option>
	   <option value=4> 4</option>
	   <option value=5> 5</option>
	   <option value=6> 6</option>
	   <option value=7> 7</option>
	   <option value=8> 8</option>
	   <option value=9> 9</option>
	   <option value=10> 10</option>
   <select> <br />

e lo script:

PHP:
prezzo1=350;	//prezzo pieno
prezzo2=250;	//prezzo scontato

function CalcolaLicenze(qt){
var pz = (qt < 5) ? prezzo1 : prezzo2;
document.getElementById('licenze').value=(qt*pz);
}

Al momento, aggiornando il numero di licenze, viene riportato il il calcolo del prezzo alla voce "Costo licenza". Adesso però dovrei integrare il calcolo del prezzo aggiungendo alcuni passaggi.
In particolare, vorrei riportare alla voce "iva" il valore corrispondente a Costolicenza*0,21 se, alla voce nazionalità è stato selezionato Italia, viceversa, il valore da riportare sarà 0.
Alla voce totale invece dovrei riportare la somma Costolicenza + iva.

Come devo impostare lo script per ottenere ciò?

Grazie, M
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Quel form è davvero un macello. Ho riscritto tutta la pagina in HTML5 e jQuery:
HTML:
<!DOCTYPE html>
<html>
    <head>
        <title>Licenze</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />

        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            pieno    = 350;
            scontato = 250;

            $("#licenze").change(function() {
                var num = parseInt($(this).val());

                if (num > 5) {
                    var costo = scontato * num;
                } else {
                    var costo = pieno * num;
                }

                if ($("#nazione").val() == "italia") {
                    var iva = (costo / 100) * 21;
                } else {
                    var iva = 0;
                }

                var totale = costo + iva;

                $("#costo").val(costo);
                $("#iva").val(iva);
                $("#totale").val(totale);
            });
        });
        </script>
    </head>

    <body>
        <p>
            <label for="nazione">Nazionalità:</label>
            <select id="nazione">
                <option value="italia">Italia</option>
                <option value="estero">Estero</option>
            </select>
        </p>

        <p>
            <label for="licenze">Numero di licenze:</label>
            <input type="text" id="licenze" size="2" value="0" />
        </p>

        <p>
            <label for="costo">Costo licenze: €</label>
            <input type="text" id="costo" size="5" readonly="readonly" value="0" />
        </p>

        <p>
            <label for="iva">IVA: €</label>
            <input type="text" id="iva" size="5" readonly="readonly" value="0" />
        </p>


        <p>
            <label for="totale">Totale: €</label>
            <input type="text" id="totale" size="5" readonly="readonly" value="0" />
        </p>
    </body>
</html>
La prossima volta cerca di usare le stesse tecniche.

P.S. Spero che per calcolare il prezzo non usi solo Javascript... vero?
 
Ultima modifica:

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Grazie Alessandro!
lo so che sono un disastro... ho testato il tuo codice e funziona perfettamente!

Ho riscontrato un problemino però... se seleziono prima la nazionalità e poi il numero di licenze funziona tutto correttamente ma, se decidessi di modificare il campo nazionalità in seguito, il calcolo dell'iva e del totale non vengono aggiornati... :evil:

è risolvibile?

ps. per il calcolo del totale lo faccio anche in php... cosa intendi per "P.S. Spero che per calcolare il prezzo non usi solo Javascript... vero? "
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Sì, sostituisci la parte Javascript con questa:
Codice:
$(document).ready(function() {
    pieno    = 350;
    scontato = 250;

    $("#licenze, #nazione").change(function() {
        var num = parseInt($("#licenze").val());

        if (num > 5) {
            var costo = scontato * num;
        } else {
            var costo = pieno * num;
        }

        if ($("#nazione").val() == "italia") {
            var iva = (costo / 100) * 21;
        } else {
            var iva = 0;
        }

        var totale = costo + iva;

        $("#costo").val(costo.toFixed(2));
        $("#iva").val(iva.toFixed(2));
        $("#totale").val(totale.toFixed(2));
    });
});
Per quanto riguarda il calcolo in PHP, sì, è esattamente quello che intendevo.
 
Ultima modifica:

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Fenomenale... GRAZIE Adesso faccio qualche mia piccola modifica sperando di non far saltare in aria niente :hammer:
 

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
Eccomi ancora qui...
il mio codice sta crescendo e mi sono venuti un paio di dubbi...
1- non visualizzo i caratteri speciali, lettere accentate, simbolo dell' Euro... come mai ?
2- volevo separe il codice dello script dal file index, ed ho inserito nell'head la stringa
PHP:
<script type="text/javascript" src="script.js"></script>
riportando ovviamente il codice
PHP:
<script type="text/javascript">
$(document).ready(function() {
    		pieno    = 350;
    		scontato = 250;

    		$("#licenze, #nazione, #professione").change(function() {
        	var num = parseInt($("#licenze").val());

        	if (num > 5) {
           	var costo = scontato * num;
        	} else {
            	var costo = pieno * num;
        	}

        	if ($("#professione").val() != "0" || $("#nazione").val() == "estero") {
            	var cnpaia = (costo / 100) * 4 ;
        	} else {
            	var cnpaia = 0 ;
        	}

        	if ($("#nazione").val() == "italia") {
            	var iva = ((costo + cnpaia) / 100) * 21;
        	} else {
            	var iva = 0;
        	}

        	if ($("#professione").val() == "2" || $("#nazione").val() == "estero") {
            	var ritenuta = 0 ;
        	} else {
            	var ritenuta = (costo / 100) * 20 ;
        	}

        	var totale = costo + cnpaia + iva -ritenuta;
        	var totale = totale.toFixed(2);

        	$("#costo").val(costo);
        	$("#cnpaia").val(cnpaia);
        	$("#iva").val(iva);
        	$("#ritenuta").val(ritenuta);
        	$("#totale").val(totale);
    		});
	});
</script>

all'interno di script.js
Cosi facendo però non funziona... dove sbaglio?

Grazie, M
 

idkfa46

Utente Attivo
17 Ott 2010
40
0
0
ps.
il problema dei caratteri speciali lo ho risolto inserendo

<meta http-equiv="Content- Type" content="text/html; charset=iso-8859-1">
 
Discussioni simili
Autore Titolo Forum Risposte Data
otto9due Piccolo problemino su inserimento dati db da form PHP 5
A Piccolo problema con form email HTML e CSS 2
A php piccolo form cerca PHP 6
J Un piccolo dubbio su Mailchimp Posta Elettronica 1
N [Java] Piccolo jform per calcolo totale da 2 campi i double Java 0
L Struttura ottimale di un piccolo sito SEO e Posizionamento 8
Angelo Russo [HTML] piccolo problema di impaginazione HTML e CSS 13
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
A piccolo impianto per villetta a schiera IP Cam e Videosorveglianza 2
elpirata [Cerco][Gratuito]Cerco collaboratori per realizzazione piccolo gestionale Mysqli+Php Offerte e Richieste di Lavoro e/o Collaborazione 6
S [CERCO] spazio web per piccolo popup Fb, pago euro 10 ogni 1000 aperture Vendere e Acquistare pubblicita' online 0
otto9due Piccolo Script su select non funziona jQuery 2
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
otto9due Redirect 301 con espressioni regolari piccolo aiutino Apache 3
G Piccolo aiuto per php mail PHP 2
D Piccolo quesito per il mio sito PHP 1
I Piccolo roblema di compatibilità mobile.. help! PHP 1
otto9due Piccolo dilemma con impolode PHP 6
C piccolo problema con mysql_connect() PHP 1
P Piccolo software per gestire gli utenti. Snippet PHP 5
otto9due Piccolo problemino con il formato data e immagini per gli rss PHP 1
G Piccolo problema con il Drag&Drop jQuery 0
otto9due Creare un piccolo web services SOAP PHP 0
otto9due breadcrumbs con microformat o RDF piccolo aiutino.. PHP 2
otto9due Piccolo conflitto jquery.. Chi gli da uno sguardo? jQuery 6
otto9due Piccolo aiutino per una query.. PHP 3
C usare un foglio php per la creazione di un excel: piccolo problema PHP 2
P mi presento e mi serve un piccolo aiuto PHP 0
F Presentazione e piccolo aiuto PHP 20
F Presentazione e piccolo aiuto PHP 6
A Piccolo blog, guadagni Adsense... e TASSE Google AdSense 2
T Come potrei realizzare un piccolo forum di discussione su un sito web...? phpBB 2
M Convertire piccolo codice da lato server a client Javascript 1
P Piccolo problema Input di un file. HTML e CSS 1
A Richiesta piccolo sito aste per il Fantacalcio PHP 1
C Dovrei creare un piccolo script che mi comunichi che questo è stato eseguito PHP 4
A Host per piccolo progetto Hosting 4
S Un piccolo aiuto su cookie e sessioni PHP 1
P Piccolo problema con gestione immagini. PHP 9
G Piccolo problemino con PHP, mi potreste aiutare per favore? PHP 0
emanuelevt zoom immagine [piccolo problema] jQuery 4
Neptune7650 Piccolo problema con la funzione include PHP 1
S piccolo problemino con variabile tipo PHP 12
R Cerco programmatore per piccolo software di gestione delle immagini Offerte e Richieste di Lavoro e/o Collaborazione 1
O come strutturare le classi per un piccolo gestionale? PHP 2
G Ho creato un piccolo sito web, ma purtroppo !!! HTML e CSS 0
S Piccolo problema con un ayout liquido in as2 Flash 1
emanuelevt piccolo problema jquery jQuery 4
emanuelevt Piccolo problema impaginazione php PHP 8
T vb foe application excel piccolo problema Visual Basic 0

Discussioni simili