-
Calcolo preventivo
Premetto che sono nuovo e totalmente ignorante su linguaggi javascript,html e php.
chiedo inoltre scusa se il mio topic risulta essere già discusso ( ho fatto ricerche ma non ho trovato assolutamente nulla).
Il mio prob è questo:
All'interno del mio sito stò cercando di inserire un form che permetta di calcolare il costo di un servizio da me offerto in base a scelte multiple.
Facendo varie ricerche sono riuscito a tirare giù un po' di righe di codice
queste :
Codice HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nuova pagina 1</title>
</head>
<body>
<head>
<script type="text/javascript">
function tipo(reg) {
if (reg == "") return;
var lavori = new Array();
var lavoro = document.getElementById('lavori');
while(lavoro.options.length > 0) lavoro.removeChild(lavoro.options[0]);
switch(reg) {
case 'montaggiomagazzino':
lavori.push('scaffalatura');
lavori.push('cantilever');
lavori.push('porta pallets');
//...
break;
case 'montaggioufficio':
lavori.push('scrivania');
lavori.push('sala attesa');
lavori.push('armadio');
break;
case 'montaggionegozio':
lavori.push('parete dogata');
lavori.push('bancone vendita');
lavori.push('vetrina');
break;
default:
}
for (i=0; i<lavori.length; i++) {
opt = document.createElement('option');
opt.setAttribute('value', lavori[i]);
opt.setAttribute('text', lavori[i]);
opt.innerHTML = lavori[i];
lavoro.appendChild(opt);
}
}
</script>
</head>
<body>
<center>
<h3><b><font color=#007070>SCELGA LA TIPOLOGIA DI ARREDAMENTO CHE VUOLE EFFETTUARE</font></b></h3><br>
<select id="lav" onchange="tipo(this.value)">
<option value="">Scegli tipologia lavoro</option>
<option value="montaggiomagazzino">montaggio magazzino</option>
<option value="montaggioufficio">montaggio ufficio</option>
<option value="montaggionegozio">montaggio negozio</option>
</select><br><br><br>
<h3><b><font color=#007070>SCELGA LA TIPOLOGIA DI PRODOTTO CHE VUOLE TRATTARE</font></b></h3><br>
<select id="lavori"></select><br><br><br>
<h3><b><font color=#007070>INDICHI LA REGIONE DOVE SI ESEGUIRA' IL MONTAGGIO</font></b></h3><br>
<select id="dove">
<option value="regione">seleziona regione</option>
<option value="toscana">Toscana</option>
<option value="lazio">Lazio</option>
</select><br><br><br>
<h3><b><font color=#007070>INDICHI LA DATA DI QUANDO VUOLE ESEGUIRE IL MONTAGGIO</font></b></h3><br>
<select id="data1">
<option 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>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="data2">
<option value="gennaio">gennaio</option>
<option value="febbraio">febbraio</option>
<option value="marzo">marzo</option>
<option value="aprile">aprile</option>
<option value="maggio">maggio</option>
<option value="giugno">giugno</option>
<option value="luglio">luglio</option>
<option value="agosto">agosto</option>
<option value="settembre">settembre</option>
<option value="ottobre">ottobre</option>
<option value="novembre">novembre</option>
<option value="dicembre">dicembre</option>
</select>
<select id="data3">
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select><br><br><br>
<h3><b><font color=#007070>VUOLE ESEGUIRE IL MONTAGGIO IN UN GIORNO FERIALE O FESTIVO?</font></b></h3><br>
<input type="radio" id="feriale" name="RadioGroup1" checked> Feriale
<input type="radio" id="festivo" name="RadioGroup1"> Festivo <br><br><br>
<h3><b><font color=#007070>VUOLE ESEGUIRE IL MONTAGGIO DI GIORNO O DI NOTTE?</font></b></h3><br>
<input type="radio" id="giorno" name="RadioGroup2" checked> Giorno
<input type="radio" id="notte" name="RadioGroup2"> Notte
</center>
</body>
</html>
per quanto riguarda le varie selezioni funziona bene (salvo per la seconda selezione subordinata alla prima che non mi rimane centrale..consigli?)
il prob è questo
vorrei dare un valore numerico ad ogni selezione nelle caselle del form,
ed avere infine uno script che mi calcola il totale di questi valori (salvo la data che è solo a titolo informativo, e che mi dia una casella di errore nel caso qualche dato non sia stato inserito), che mandi un email sia a me che al cliente contenente un sunto delle selezioni piu il totale del servizio(questo form si trova all'interno di un area privata,con i dati del cliente inseriti dentro ad un database e quindi con l'email del cliente gia a disposizione ,va solo richiamata)
vi ringrazio in anticipo, sperando in un vostro aiuto che puo' essere anche utile per altri utenti dato la richiesta di form-script ,apparentemente senza risp utili ,simili a questi
cordiali saluti Taibi montaggi
-
Bisogna usare il php, ma non sono pratico.
-
avrei preferito tutto in javasc... cmq qualcuno è pratico di php?
ho anche pensato :
ma se imposto nelle variabili il valore numerico di ogni tipologia di prodotto ad es:
function somma() {
bancone=100
cantilever=200
(e così via)
pero mi blocco qui cioè.. nella variabile che mi crea la somma ad esempio totale=bancone+cantilever+etc
scritta così mi dà il risultato... ma siccome i vari prodotti cambiano... come devo scrivere il totale di modo chè mi inserisca nella somma il prodotto scelto nel form?
-
riuscito
dopo molte prove e inveimenti vari sono riuscito a stendere il codice anche se in modo poco professionale.
lo posto qui di seguito per aiutare altri utenti bisognosi :wink:
Codice:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nuova pagina 1</title>
</head>
<body>
<head>
<script type="text/javascript">
function tipo(reg) {
var lavori = new Array();
var lavoro = document.getElementById('lavori');
while(lavoro.options.length > 0) lavoro.removeChild(lavoro.options[0]);
if (reg == "") return;
switch(reg) {
case '60 montaggiomagazzino':
lavori.push('Rete Divisoria');
lavori.push('Bancone vendita');
lavori.push('Cantilever');
lavori.push('Compattabile');
lavori.push('Porta pallets');
lavori.push('Soppalco carpenteria');
lavori.push('Scaffalatura leggera');
lavori.push('Scaffalatura multipiano');
lavori.push('Drive-in');
//...
break;
case '70 montaggioufficio':
lavori.push('Sala attesa');
lavori.push('Sala riunione');
lavori.push('Mobili da ufficio');
lavori.push('Reception');
lavori.push('Parete divisoria');
lavori.push('Parete Attrezzata');
break;
case '65 montaggionegozio':
lavori.push('Gondola');
lavori.push('Scaffalatura a muro');
lavori.push('Espositori');
lavori.push('bancone vendita');
lavori.push('Parete Dogata');
lavori.push('Vetrina');
break;
default:
}
for (i=0; i<lavori.length; i++) {
opt = document.createElement('option');
opt.setAttribute('value', ([i]*2.9)+lavori[i]);
opt.setAttribute('text', lavori[i]);
opt.innerHTML = lavori[i];
lavoro.appendChild(opt);
}
}
</script>
</head>
<body>
<center>
<font color="#007070" <h3><b>SCELGA LA TIPOLOGIA DI ARREDAMENTO CHE VUOLE EFFETTUARE</b></h3>
<select id="lav" name="prova1" onchange="tipo(this.value)">
<option value="0">Selezionare..</option>
<option value="60 montaggiomagazzino">montaggio magazzino</option>
<option value="70 montaggioufficio">montaggio ufficio</option>
<option value="65 montaggionegozio">montaggio negozio</option>
</select><br><br>
<h3><b>SCELGA IL TIPO DI MONTAGGIO CHE VUOLE EFFETTUARE</b></h3>
<select name="prova2" id="lavori">
<option value="">selezionare...</option>
</select><br><br>
<h3><b>SCELGA LA ZONA DOVE VERRA' EFFETTUATO IL MONTAGGIO</b></h3>
<select name="prova3" id="dove">
<option value="0">selezionare...</option>
<option value="50 toscana">Toscana</option>
<option value="60 emiliaromagna">Emilia Romagna</option>
<option value="60 lazio">Lazio</option>
<option value="60 liguria">Liguria</option>
<option value="60 umbria">Umbria</option>
<option value="70 piemonte">Piemonte</option>
<option value="70 lombardia">Lombardia</option>
<option value="70 veneto">Veneto</option>
<option value="70 marche">Marche</option>
<option value="70 abruzzo">Abruzzo</option>
<option value="80 valdaosta">Val d'Aosta</option>
<option value="80 trentino">Trentino</option>
<option value="80 friuli">Friuli</option>
<option value="80 molise">Molise</option>
<option value="80 campania">Campania</option>
<option value="90 basilicata">Basilicata</option>
<option value="90 puglia">Puglia</option>
<option value="100 Calabria">Calabria</option>
<option value="100 sicilia">Sicilia</option>
<option value="100 sardegna">Sardegna</option>
</select><br><br>
<h3><b>INDICHI LA DATA DEL MONTAGGIO</b></h3>
<select name="prova4" id="data1">
<option 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>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="prova5" id="data2">
<option value="gennaio">gennaio</option>
<option value="febbraio">febbraio</option>
<option value="marzo">marzo</option>
<option value="aprile">aprile</option>
<option value="maggio">maggio</option>
<option value="giugno">giugno</option>
<option value="luglio">luglio</option>
<option value="agosto">agosto</option>
<option value="settembre">settembre</option>
<option value="ottobre">ottobre</option>
<option value="novembre">novembre</option>
<option value="dicembre">dicembre</option>
</select>
<select name="prova6" id="data3">
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select><br><br>
<h3><b>INDICHI SE VUOLE EFFETTUARE IL MONTAGGIO IN UN GIORNO FERIALE O FESTIVO</b></h3>
<select name="prova7" id="data3">
<option value="0">Selezionare</option>
<option value="25">Giorno feriale</option>
<option value="35">Giorno festivo</option>
</select><br><br>
<h3><b>INDICHI SE VUOLE ESEGUIRE IL MONTAGGIO DI GIORNO O DI NOTTE</b></h3>
<select name="prova8" id="data3">
<option value="0">Selezionare</option>
<option value="25">Lavoro di giorno</option>
<option value="35">Lavoro di notte</option>
</select>
<script>
function somma() {
a=parseInt(prova1.value);
b=parseInt(prova2.value);
c=parseInt(prova3.value);
d=prova7.value;
e=prova8.value;
t=((a*1)+(b*1)+(c*1)+(d*1)+(e*1))
if (a==0){
alert("si prega di inserire la tipologia del lavoro");
return;
}
else if (c==0) {
alert("si prega di inserire la zona di montaggio")
return;
}
else if (d==0) {
alert("si prega di indicare se giorno Feriale o Festivo")
return;
}
else if (e==0) {
alert("si prega di indicare se il lavoro verrà eseguito di giorno o di notte")
return;
}
else {
alert (("il costo giornaliero di ogni montatore è di ")+(t)+(" euro + iva"));
}
}
</script><br><br>
<input type="button" id="butn_3" value="preventivo" onclick="somma()" >
</FONT>
</center>
</body>
</html>
un ultima necessità:
come avevo già scritto , quest'area si trova in una zona privata con accesso tramite password e nome utente ( registrati in un database)
se volessi avere un controllo sui preventivi che vengono effettuati tramite notifica alla mia email e contenente l'indirizzo email di chi ha effettuato il preventivo, come potrei fare?
grazie