Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Aiuto form email

  1. #1

    Aiuto form email

    Chi mi aiuta??
    Ho questo form in javascript


    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Form</title>
    <script language="Javascript">
    <!--
    function Email() {
    var dest_email = document.modulo.dest_email.value;
    var mitt_nome = document.modulo.mitt_nome.value;
    var mitt_sesso = document.modulo.mitt_sesso.value;
    var mitt_età = document.modulo.mitt_età.value;
    var mitt_email = document.modulo.mitt_email.value;
    var mitt_tel = document.modulo.mitt_tel.value;
    var oggetto = document.modulo.oggetto.value;
    var messaggio = document.modulo.msg.value;
    if ((mitt_nome == "") || (mitt_nome == "undefined")) {
    alert("Inserire nome.");
    document.modulo.mitt_nome.focus();
    }
    else if ((mitt_sesso == "") || (mitt_sesso == "undefined")) {
    alert("Specificare il sesso.");
    document.modulo.mitt_sesso.focus();
    }
    else if ((mitt_età == "") || (mitt_età == "undefined")) {
    alert("Specificare l'età.");
    document.modulo.mitt_età.focus();
    }
    else if ((mitt_email.indexOf("@") == (-1)) || (mitt_email == "") || (mitt_email == "undefined")) {
    alert("Inserire un indirizzo email valido.");
    document.modulo.mitt_email.focus();
    }
    else if ((mitt_tel == "") || (mitt_tel == "undefined")) {
    alert("Inserire numero di telefono.");
    document.modulo.mitt_tel.focus();
    }
    else if ((oggetto == "") || (oggetto == "undefined")) {
    alert("Inserire un oggetto.");
    document.modulo.oggetto.focus();
    }
    else if ((messaggio == "") || (messaggio == "undefined")) {
    alert("Inserire un messaggio.");
    document.modulo.messaggio.focus();
    }
    else {
    location.href = "mailto:" + dest_email
    + "?Subject=" + oggetto
    + "&Body=Messaggio: " + messaggio
    + "%0aMittente: " + mitt_nome
    + "%0aSesso: " + mitt_sesso
    + "%0aEtà: " + mitt_età
    + "%0atel: " + mitt_tel;
    }
    }
    //-->
    </script>
    </head>
    <body>
    <form name="modulo">
    <input type="hidden" name="dest_email" value="miaemail@miosito.com">
    <table>
    <tr><td valign="top">Nome:</td><td><input type="text" name="mitt_nome" size="20"></td></tr>
    <tr><td valign="top">Sesso:</td><td><input type=radio name="mitt_sesso" value="Uomo">Uomo - <input type=radio name="mitt_sesso" value="Donna">Donna</td></tr>
    <tr><td valign="top">Età:</td><td><input type=radio name="mitt_età" value="14/18">14/18 - <input type=radio name="mitt_età" value="19/24">19/25 - <input type=radio name="mitt_età" value="Oltre 25">Oltre 25</td></tr>
    <tr><td valign="top">eMail:</td><td><input type="text" name="mitt_email" size="20"></td></tr>
    <tr><td valign="top">Telefono:</td><td><input type="text" name="mitt_tel" size="20"></td></tr>
    <tr><td valign="top">Oggetto:</td><td><input type="text" name="oggetto" size="20"></td></tr>
    <tr><td valign="top">Messaggio:</td><td><textarea name="msg" rows="5" cols="30"></textarea></td></tr>
    <tr><td colspan="2" align="center"><input type="button" value="Invia" onClick="Email()"></td></tr>
    </table>
    </form>
    </body>
    </html>


    Praticamente nei campi sesso ed età come valore mi esce sempre "undefined" qualsiasi selezione io faccio.
    Dove sbaglio????
    Grazie

  2. #2
    scusa se te lo dico, ma non hai molto chiaro il funzionamento dei radio...

    Ma la colpa non è tua, ma di quella cavolo di sintassi ridotta di Javascript.

    Se usi le funzioni DOM è molto più semplice gestire gli elementi:

    Cambia la funzione con questa

    Codice PHP:
    <!--
    function 
    Email() {
       
    //La funzione getElementsByName ritorna un array di elementi, ma dato che ve ne sono uno solo posso indicare di passare subito il primo (con [0])
      
       
    var dest_email document.getElementsByName('dest_email')[0].value;
       var 
    mitt_nome document.getElementsByName('mitt_nome')[0].value;
       var 
    mitt_email document.getElementsByName('mitt_email')[0].value;
       var 
    mitt_tel document.getElementsByName('mitt_tel')[0].value;
       var 
    oggetto document.getElementsByName('oggetto')[0].value
       var 
    messaggio document.getElementsByName('msg')[0].value;
       
       var 
    mitt_sessomitt_eta;
       
    //Qui invece tratti gli elementi radio, dato che sono più di uno devo leggere l'intero array
       
    var radio_sesso document.getElementsByName('mitt_sesso');
       var 
    radio_eta document.getElementsByName('mitt_età');
       
    //Ti consiglio di non usare mai i caratteri speciali nel codice JS


       
    for(i=0radio_sesso.lengthi++){
          if(
    radio_sesso[i].checked)
          {
              
    //Se il radio è selezionato
              
    mitt_sesso radio_sesso[i].value;
          }
       }
       
       for(
    i=0radio_eta.lengthi++){
          if(
    radio_eta[i].checked)
          {
              
    //Se il radio è selezionato
              
    mitt_eta radio_eta[i].value;
          }
       }
       
       
    if ((
    mitt_nome == "") || (mitt_nome == "undefined")) {
    alert("Inserire nome.");
    document.modulo.mitt_nome.focus();
    }
    else if (!
    mitt_sesso) {
    alert("Specificare il sesso.");

    }
    else if (!
    mitt_eta) {
    alert("Specificare l'età.");

    }
    else if ((
    mitt_email.indexOf("@") == (-1)) || (mitt_email == "") || (mitt_email == "undefined")) {
    alert("Inserire un indirizzo email valido.");
    document.modulo.mitt_email.focus();
    }
    else if ((
    mitt_tel == "") || (mitt_tel == "undefined")) {
    alert("Inserire numero di telefono.");
    document.modulo.mitt_tel.focus();
    }
    else if ((
    oggetto == "") || (oggetto == "undefined")) {
    alert("Inserire un oggetto.");
    document.modulo.oggetto.focus();
    }
    else if ((
    messaggio == "") || (messaggio == "undefined")) {
    alert("Inserire un messaggio.");
    document.modulo.messaggio.focus();
    }
    else {
    "mailto:" dest_email 
    "?Subject=" oggetto 
    "&Body=Messaggio: " messaggio 
    "%0aMittente: " mitt_nome 
    "%0aSesso: " mitt_sesso 
    "%0aEta': " mitt_eta 
    "%0atel: " mitt_tel;
    }
    }
    //--> 
    Io ti raccomando di non utilizzare mai i caratteri speciali con JS, perché fa veramente fatica a gestirli.
    Comunque il focus sull'elemento Radio non ha molto senso, se non l'ha selezionato...

    Se hai perplessità sul codice chiedi pure

  3. #3
    Grazie, io purtroppo non conosco molto il codice java quindi ti ringrazio molto per l'aiuto.

    con il tuo codice quando completo il form e clicco su invia non succede niente

    ho provato a cambiare

    else { a = "mailto:" + dest_email .....
    con
    else { location.href = "mailto:" + dest_email ......

    e adesso funziona

    grazie mille

  4. #4
    Scusa se ti disturbo ancora.
    Se al posto del radio ci fosse stato un checkbox, come sarebbe il codice???
    grazie

  5. #5
    uguale, ma, il quel caso, più di uno poteva essere checked e dovevi regolarti di conseguenza

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.