Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    funzione checkbox

    Salve a tutti.
    Voglio fare un modulo con 3 opzioni di scelta (che danno il prezzo base) e con le checkbox che aumentano il prezzo di base segnato dalle opzioni di scelta.
    Il tot. dev'essere stampato in un campo ad ogni selezione.
    Non so se mi sono spiegato bene.
    Grazie
    steave67

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Posta quello che hai fatto finora...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Veramente finora ho fatto solo la pagina.
    Ecco il suo codice:
    <html>

    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>MODULO PER LA RICHIESTA</title>
    </head>

    <body>

    <form method="POST" action="mailto.php" enctype="multipart/form-data">
    <div align="center">
    <table border="0" width="500" style="border-collapse: collapse">
    <tr>
    <td colspan="3">
    <p align="center">MODULO PER LA RICHIESTA</td>
    </tr>
    <tr>
    <td width="115">Username:</td>
    <td width="227"><input type="text" name="user" size="32" maxlength="15"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Password:</td>
    <td width="227"><input type="text" name="password" size="32" maxlength="10"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Nome:</td>
    <td width="227"><input type="text" name="nome" size="32" maxlength="15"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Cognome:</td>
    <td width="227"><input type="text" name="cgonome" size="32" maxlength="15"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">E-mail:</td>
    <td width="227"><input type="text" name="email" size="32" maxlength="20"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">P. iva:</td>
    <td width="227"><input type="text" name="p_iva" size="32" maxlength="13"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Codice fiscale:</td>
    <td width="227"><input type="text" name="c_fiscale" size="32" maxlength="16"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Carica il tuo logo:</td>
    <td width="227"><input type="file" name="logo" size="20"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="115">Nome dominio:</td>
    <td width="227"><input type="text" name="nome_dominio" size="32"></td>
    <td width="142"></td>
    </tr>
    <tr>
    <td width="342" align="right" colspan="2">
    <p align="left">
    <input type="radio" value="hosting_w" checked name="R1"> Hosting windows</td>
    <td width="142" height="30" align="right">€ 20.66</td>
    </tr>
    <tr>
    <td width="342" align="left" colspan="2">
    <input type="radio" name="hosting_l" value="V5"> Hosting Linux</td>
    <td width="142" align="right">€ 20.66</td>
    </tr>
    <tr>
    <td width="342" align="left" colspan="2">
    <input type="radio" name="hosting_w-l" value="V6"> Hosting windows / linux</td>
    <td width="142" align="right">€ 30.66</td>
    </tr>
    <tr>
    <td width="778" colspan="3" height="23"></td>
    </tr>
    <tr>
    <td width="549" colspan="3">Scegli le tue preferenze:</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="forum" value="ON"> Forum</td>
    <td width="142" align="right">
    <p align="right">€ 15.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="galleria" value="ON">Galleria fotografica e/o
    videogallery </td>
    <td width="142" align="right">
    <p align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google" value="ON"> Presenza sui motori di
    ricerca</td>
    <td width="142" align="right">€ 1.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google_ma" value="ON"> Presenza in google maps</td>
    <td width="142" align="right">€ 1.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="favicon" value="ON">Favicon </td>
    <td width="142" align="right">€ 0.50</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="news" value="ON">News e archivio </td>
    <td width="142" align="right">€ 12.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="news_l" value="ON">Newsletter </td>
    <td width="142" align="right">€ 14.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="download" value="ON">Area download </td>
    <td width="142" align="right">€ 15.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">



    <input type="checkbox" name="flash" value="ON">Flash</td>
    <td width="142" align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left" height="23">
    <input type="checkbox" name="banner" value="ON">Banner </td>
    <td width="142" align="right" height="23">€ 2.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="ricerca" value="ON">Ricerca nel sito</td>
    <td width="142" align="right">€ 6.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google_ad" value="ON">Pubblicità su google
    adwords </td>
    <td width="142" align="right">€ 155.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="grafica" value="ON">Grafica </td>
    <td width="142" align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="mappa" value="ON">Mappa del sito </td>
    <td width="142" align="right">€ 2.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="iscrizione" value="ON">Iscrizione utenti </td>
    <td width="142" align="right">€ 10.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="3°_livello" value="ON">Domini al 3° livello
    per ogni sezione del sito</td>
    <td width="142" align="right">€ 250.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="caselle_email" value="ON">Caselle e-mail a nome
    del sito </td>
    <td width="142" align="right">€ 30.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="stat" value="ON">Statistiche </td>
    <td width="142" align="right">€ 12.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="sms" value="ON">SMS dal sito </td>
    <td width="142" align="right">€ 25.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="pec" value="ON">PEC (Posta Elettronica
    Certificata) </td>
    <td width="142" align="right">€ 10.00</td>
    </tr>
    <tr>
    <td width="115"></td>
    <td width="227"></td>
    <td width="142">Costo tot.: <input type="text" name="costo_tot" size="5" disabled="disabled"></td>
    </tr>
    <tr>
    <td width="778" colspan="3">
    <p align="center"><input type="submit" value="Invia" name="submit"></td>
    </tr>
    </table>
    </div>
    </form>

    </body>

    </html>

    Come puoi vedere di javascript non c'è nemmeno l'ombra perchè io non lo so usare.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho fatto alcune modifiche, anche sostanziali, al form ed ai suoi campi, lato server devi ovviamente tenerne conto.
    codice:
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>MODULO PER LA RICHIESTA</title>
    <script>
    function somma() {
    	var f = document.forms[0];
    	// prima tratto il tipo hosting richiamandolo per nome
    	totale = 0;
    	valori = new Array(20.66, 20.66, 30.66);
    	for (var i=0; i<3; i++)	{
    		if (f.R1[i].checked) {
    			totale = valori[i];
    		}
    	}
    	// ora i checkbox
    	for (var i=0; i<f.elements.length; i++)	{
    		el = f.elements[i];
    		if (el.type=="checkbox" && el.checked) {
    			totale += parseFloat(el.value);
    		}
    	}
    	// risultato
    	f.costo_tot.value = totale;
    }
    </script>
    </head>
    
    <body>
    
    <form method="POST" action="mailto.php" enctype="multipart/form-data">
    <div align="center">
    <table border="0" width="500" style="border-collapse: collapse">
    <tr>
    <td colspan="3">
    <p align="center">MODULO PER LA RICHIESTA</td>
    </tr>
    <tr>
    <td width="115">Username:</td>
    <td width="227"><input type="text" name="user" size="32" maxlength="15"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Password:</td>
    <td width="227"><input type="text" name="password" size="32" maxlength="10"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Nome:</td>
    <td width="227"><input type="text" name="nome" size="32" maxlength="15"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Cognome:</td>
    <td width="227"><input type="text" name="cgonome" size="32" maxlength="15"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">E-mail:</td>
    <td width="227"><input type="text" name="email" size="32" maxlength="20"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">P. iva:</td>
    <td width="227"><input type="text" name="p_iva" size="32" maxlength="13"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Codice fiscale:</td>
    <td width="227"><input type="text" name="c_fiscale" size="32" maxlength="16"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Carica il tuo logo:</td>
    <td width="227"><input type="file" name="logo" size="20"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="115">Nome dominio:</td>
    <td width="227"><input type="text" name="nome_dominio" size="32"></td>
    <td width="142"> </td>
    </tr>
    <tr>
    <td width="342" align="right" colspan="2">
    <p align="left">
    <input type="radio" value="hosting_w" checked name="R1" onclick="somma()"> Hosting windows</td>
    <td width="142" height="30" align="right"> € 20.66</td>
    </tr>
    <tr>
    <td width="342" align="left" colspan="2">
    <input type="radio" value="hosting_l" name="R1" onclick="somma()"> Hosting Linux</td>
    <td width="142" align="right"> € 20.66</td>
    </tr>
    <tr>
    <td width="342" align="left" colspan="2">
    <input type="radio" value="hosting_w-l" name="R1" onclick="somma()"> Hosting windows / linux</td>
    <td width="142" align="right"> € 30.66</td>
    </tr>
    <tr>
    <td width="778" colspan="3" height="23"> </td>
    </tr>
    <tr>
    <td width="549" colspan="3">Scegli le tue preferenze:</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="forum" value="15" onclick="somma()"> Forum</td>
    <td width="142" align="right">
    <p align="right">€ 15.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="galleria" value="5" onclick="somma()">Galleria fotografica e/o 
    videogallery </td>
    <td width="142" align="right">
    <p align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google" value="1" onclick="somma()"> Presenza sui motori di 
    ricerca</td>
    <td width="142" align="right">€ 1.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google_ma" value="1" onclick="somma()"> Presenza in google maps</td>
    <td width="142" align="right">€ 1.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="favicon" value="0.5" onclick="somma()">Favicon </td>
    <td width="142" align="right">€ 0.50</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="news" value="12" onclick="somma()">News e archivio </td>
    <td width="142" align="right">€ 12.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="news_l" value="14" onclick="somma()">Newsletter </td>
    <td width="142" align="right">€ 14.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="download" value="15" onclick="somma()">Area download </td>
    <td width="142" align="right">€ 15.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    
    
    
    <input type="checkbox" name="flash" value="5" onclick="somma()">Flash</td>
    <td width="142" align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left" height="23">
    <input type="checkbox" name="banner" value="2" onclick="somma()">Banner </td>
    <td width="142" align="right" height="23">€ 2.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="ricerca" value="6" onclick="somma()">Ricerca nel sito</td>
    <td width="142" align="right">€ 6.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="google_ad" value="155" onclick="somma()">Pubblicità su google 
    adwords </td>
    <td width="142" align="right">€ 155.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="grafica" value="5" onclick="somma()">Grafica </td>
    <td width="142" align="right">€ 5.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="mappa" value="2" onclick="somma()">Mappa del sito </td>
    <td width="142" align="right">€ 2.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="iscrizione" value="10" onclick="somma()">Iscrizione utenti </td>
    <td width="142" align="right">€ 10.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="3°_livello" value="250" onclick="somma()">Domini al 3° livello 
    per ogni sezione del sito</td>
    <td width="142" align="right">€ 250.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="caselle_email" value="30" onclick="somma()">Caselle e-mail a nome 
    del sito </td>
    <td width="142" align="right">€ 30.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="stat" value="12" onclick="somma()">Statistiche </td>
    <td width="142" align="right">€ 12.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="sms" value="25" onclick="somma()">SMS dal sito </td>
    <td width="142" align="right">€ 25.00</td>
    </tr>
    <tr>
    <td width="342" colspan="2" align="left">
    <input type="checkbox" name="pec" value="10" onclick="somma()">PEC (Posta Elettronica 
    Certificata) </td>
    <td width="142" align="right">€ 10.00</td>
    </tr>
    <tr>
    <td width="115"> </td>
    <td width="227"> </td>
    <td width="142">Costo tot.: <input type="text" name="costo_tot" size="5" value="20.66" disabled="disabled"></td>
    </tr>
    <tr>
    <td width="778" colspan="3">
    <p align="center"><input type="submit" value="Invia" name="submit"></td>
    </tr>
    </table>
    </div>
    </form>
    
    </body>
    
    </html>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Grazie adesso funziona perfettamente...

  6. #6
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    @br1
    ho copiato il tuo script per imparare, ma ho da chiederti delle spiegazioni.
    1)
    alla fine del primo ciclo avrei messo un break così
    codice:
    for (var i=0; i<3; i++)	{
    		if (f.R1[i].checked) {
    			totale = valori[i];
                         break;
    		}
    2)
    perchè la casella del tutto totale l'hai disabilitata e non resa readonly

    grazie ciao

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    1) - dato che si tratta di un radio e che gli elementi sono solo 3 la differenza mi pare irrisoria... e non devo spiegare a cosa serve break

    2) - non l'ho scritto io ma condivido, non credo che sia necessario inviare anche quel dato al server

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    ti ringrazio, ma quando s'impara non si sa bene dove si sbaglia.
    grazie nuovamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.