Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    49

    RadioButton e Javascript

    Vorrei utilizzare, in un form con invio email tramite l'attributo action = mailto:indirizzo@server.it (esempio invio email) del tag form, 3 pulsanti di scelta radio button corrispondenti a tre differenti indirizzi email. Come è possibile in javascript far corrispondere all'unico pulsante invia l'indirizzo email scelto dall'utente corrispondente ad uno dei tre radio button?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Occorree indentificare il radio selezionate e quindi modificare l'action del form... esempio da svilupare:
    codice:
    <script>
    function invia(){
     f = document.mioForm;
     for(var i=0;i<f.mioRadio.length;i++) {
      if(f.mioRadio[i].checked) f.action=f.mioRadio.value; 
     }
    </script>
    ...
    <form name="mioForm" ... onsubmit="invia()">
    <radio name="mioRadio" value="pippo@topolinia.us">pippo
    ...
    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
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    49
    Non riesco a far funzionare javascript e a scegliere i pulsanti uno alla volta escludendo gli altri 2 se eventualmente selezionati.
    Questo è il mio codice:

    <style>

    body {
    scrollbar-face-color: #006699;
    scrollbar-highlight-color: #DCEEF1;
    scrollbar-shadow-color:#FFF0F8
    }

    </style>
    <script language="JavaScript">
    <script>
    function invia(){
    f = document.modulo;
    for(var i=0;i<f.radio1.length;i++) {
    if(f.radio1[i].checked) f.action=f.radio1.value;
    else if (f.radio2[i]checked) f.action=f.radio2.value;
    else (f.radio3[i]checked) f.action=f.radio3.value;
    }
    </script>

    </head>

    <body background="immagini/sfondo_testo.jpg" bgproperties="fixed" leftmargin="35" rightmargin="35">



    <font color="#006699" size="2" face="Arial, Tahoma, Verdana">Per l'iscrizione ai corsi si prega di compilare il seguente
    modulo. Tutti i dati inseriti verranno inviati in automatico tramite posta elettronica:
    quindi si consiglia l'apertura del programma apposito (es. Outlook, Outlook
    Express o similari) dopo aver confermato il modulo di iscrizione.</font></p>
    <table border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#0080C0">
    <form name="modulo" onsubmit="invia()" method="post">
    <tr>
    <td colspan="2" align="center"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 78%">info@trenorosa.it</font></td>
    </tr>
    <tr>
    <td width="185" align="left" valign="middle"> <font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Nome</font></td>
    <td width="203" align="center" valign="middle"> <input type="text" name="nome"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Cognome</font></td>
    <td align="center" valign="middle"> <input type="text" name="cognome"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Data
    di nascita (es: 12/04/1978)
    </font></td>
    <td align="center" valign="middle"> <input type="text" name="nascita"> </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Sesso</font></td>
    <td align="left" valign="middle"> <input type="radio" name="sesso" value="M" checked>
    <font face="Arial, Tahoma, Verdana" style="font-size: 72%">M </font> <input type="radio" name="sesso" value="F">
    <font face="Arial, Tahoma, Verdana" style="font-size: 72%">F </font></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Città</font></td>
    <td align="center" valign="middle"> <input type="text" name="textfield"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Indirizzo</font></td>
    <td align="center" valign="middle"> <input type="text" name="indirizzo">
    </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Telefono</font></td>
    <td align="center" valign="middle"> <input type="text" name="telefono">
    </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Email</font></td>
    <td align="center" valign="middle"> <input type="text" name="email"> </td>
    </tr>
    <tr>
    <td height="132" colspan="2" align="center" valign="middle">



    <textarea name="firma" rows="5" cols="32">
    </textarea>
    </p></td>
    </tr>
    <tr>
    <td height="37" colspan="2">


    <label>
    <input name="radio1" type="radio" value="mailto: info@trenorosa.it" checked>
    info@trenorosa.it</label>
    <label>
    <input type="radio" name="radio2" value="mailto: redazione@trenorosa.it">
    redazione@trenorosa.it </label>
    <label>
    <input type="radio" name="radio3" value="mailto: webmaster@trenorosa.it">
    webmaster@trenorosa.it</label>


    </td>
    </tr>
    <tr>
    <td colspan="2" align="center" valign="middle"><input name="Invia" type="submit" value="Invia"></td>
    </tr>
    </form>
    </table>


    </body>

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <script language="JavaScript"> 
    function invia(){ 
    f = document.modulo; 
    for(var i=0;i<f.radio1.length;i++) { 
    if(f.radio1[i].checked) f.action=f.radio1[i].value; 
    } 
    }
    </script> 
    ...
    <input name="radio1" type="radio" value="mailto:info@trenorosa.it" checked> 
    info@trenorosa.it
    <input type="radio" name="radio1" value="mailto:redazione@trenorosa.it"> 
    redazione@trenorosa.it
    <input type="radio" name="radio1" value="mailto:webmaster@trenorosa.it"> 
    webmaster@trenorosa.it
    Per risultare interdipendenti i radio devono avere tutti lo stesso nome...

    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
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    49
    Non ho la piena sicurezza riguardo alle condizioni javascript per il corretto funzionamento dell'invio dell'email premendo il pulsante invia. In pratica la condizione if che mi hai postato e che è l'unica , basta da sola per il corretto funzionamento del form?

    <script language="JavaScript">
    function invia(){
    f = document.modulo;
    for(var i=0;i<f.radio1.length;i++) {
    if(f.radio1[i].checked) f.action=f.radio1[i].value;
    }
    }
    </script>

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    49
    scusa la domanda banale di prima ora ho capito e il mio form è funzionante. Ho provato ad inserire dei controlli javascript sui campi ma non mi funzionano, potresti gurdarlo un attimino?

    <script language="JavaScript">
    function invia(){
    f = document.modulo;
    for(var i=0;i<f.radio1.length;i++) {
    if(f.radio1[i].checked) f.action=f.radio1[i].value;
    }
    }
    </script>
    <script language="javascript">
    <!--
    function Modulo() {
    // Variabili associate ai campi del modulo
    var nome = document.modulo.nome.value;
    var cognome = document.modulo.cognome.value;
    var nascita = document.modulo.nascita.value;
    var citta = document.modulo.citta.options[document.modulo.citta.selectedIndex].value;
    var indirizzo = document.modulo.indirizzo.value;
    var telefono = document.modulo.telefono.value;
    var email = document.modulo.email.value;
    // Espressione regolare dell'email
    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }
    //Effettua il controllo sul campo COGNOME
    else if ((cognome == "") || (cognome == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.modulo.cognome.focus();
    return false;
    }
    //Effettua il controllo sul campo DATA DI NASCITA
    else if (document.modulo.nascita.value.substring(2,3) != "/" ||
    document.modulo.nascita.value.substring(5,6) != "/" ||
    isNaN(document.modulo.nascita.value.substring(0,2) ) ||
    isNaN(document.modulo.nascita.value.substring(3,5) ) ||
    isNaN(document.modulo.nascita.value.substring(6,10 ))) {
    alert("Inserire nascita in formato gg/mm/aaaa");
    document.modulo.nascita.value = "";
    document.modulo.nascita.focus();
    return false;
    }
    else if (document.modulo.nascita.value.substring(0,2) > 31) {
    alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
    document.modulo.nascita.select();
    return false;
    }
    else if (document.modulo.nascita.value.substring(3,5) > 12) {
    alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
    document.modulo.nascita.value = "";
    document.modulo.nascita.focus();
    return false;
    }
    else if (document.modulo.nascita.value.substring(6,10) < 1900) {
    alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
    document.modulo.nascita.value = "";
    document.modulo.nascita.focus();
    return false;
    }
    //Effettua il controllo sul campo CITTA'
    else if ((citta == "") || (citta == "undefined")) {
    alert("Il campo Città è obbligatorio.");
    document.modulo.citta.focus();
    return false;
    }
    //Effettua il controllo sul campo INDIRIZZO
    else if ((indirizzo == "") || (indirizzo == "undefined")) {
    alert("Il campo Indirizzo è obbligatorio.");
    document.modulo.indirizzo.focus();
    return false;
    }
    //Effettua il controllo sul campo TELEFONO
    else if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
    alert("Il campo Telefono è numerico ed obbligatorio.");
    document.modulo.telefono.value = "";
    document.modulo.telefono.focus();
    return false;
    }
    else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    alert("Inserire un indirizzo email corretto.");
    document.modulo.email.select();
    return false;
    }
    //INVIA IL MODULO
    else {
    document.modulo.submit();
    }
    }
    //-->
    </script>

    </head>

    <body background="immagini/sfondo_testo.jpg" bgproperties="fixed" leftmargin="35" rightmargin="35">



    <font color="#006699" size="2" face="Arial, Tahoma, Verdana">Per l'iscrizione ai corsi si prega di compilare il seguente
    modulo. Tutti i dati inseriti verranno inviati in automatico tramite posta elettronica:
    quindi si consiglia l'apertura del programma apposito (es. Outlook, Outlook
    Express o similari) dopo aver confermato il modulo di iscrizione.</font></p>
    <table border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#0080C0">
    <form name="modulo" onsubmit="invia()" method="post">
    <tr>
    <td colspan="2" align="center"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 78%">info@trenorosa.it</font></td>
    </tr>
    <tr>
    <td width="185" align="left" valign="middle"> <font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Nome</font></td>
    <td width="203" align="center" valign="middle"> <input type="text" name="nome"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Cognome</font></td>
    <td align="center" valign="middle"> <input type="text" name="cognome"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Data
    di nascita (es: 12/04/1978)
    </font></td>
    <td align="center" valign="middle"> <input type="text" name="nascita"> </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Sesso</font></td>
    <td align="left" valign="middle"> <input type="radio" name="sesso" value="M" checked>
    <font face="Arial, Tahoma, Verdana" style="font-size: 72%">M </font> <input type="radio" name="sesso" value="F">
    <font face="Arial, Tahoma, Verdana" style="font-size: 72%">F </font></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Città</font></td>
    <td align="center" valign="middle"> <input type="text" name="textfield"></td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Indirizzo</font></td>
    <td align="center" valign="middle"> <input type="text" name="indirizzo">
    </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Telefono</font></td>
    <td align="center" valign="middle"> <input type="text" name="telefono">
    </td>
    </tr>
    <tr>
    <td width="185"><font color="#006699" face="Arial, Tahoma, Verdana" style="font-size: 72%">Email</font></td>
    <td align="center" valign="middle"> <input type="text" name="email"> </td>
    </tr>
    <tr>
    <td height="132" colspan="2" align="center" valign="middle">



    <textarea name="firma" rows="5" cols="32">
    </textarea>
    </p></td>
    </tr>
    <tr>
    <td height="37" colspan="2">


    <label>
    <input name="radio1" type="radio" value="mailto: info@trenorosa.it">
    info@trenorosa.it</label>
    <label>
    <input type="radio" name="radio1" value="mailto: redazione@trenorosa.it">
    redazione@trenorosa.it </label>
    <label>
    <input type="radio" name="radio1" value="mailto: webmaster@trenorosa.it">
    webmaster@trenorosa.it</label>


    </td>
    </tr>
    <tr>
    <td colspan="2" align="center" valign="middle"><input name="Invia" type="submit" value="Invia" onClick="Modulo()"></td>
    </tr>
    </form>
    </table>


    </body>

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.