Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    89

    validare e prendere valore campo SELECT in form

    Ciao, sto realizzando un form, tutto bene fino a quando ho dovuto inserire un SELECT per scelta multipla. Nella email ricevo come valore del campo "undefined".
    Credo il problema sia nel file javascript... credo.
    Sapreste aiutarmi?

    qui lo script originale http://www.artedelweb.it/2009/11/23/...-jquery-e-php/

    (ho levato un po di campi tipo email telefono ecc ecc per cercare di pulire il codice da parti ridondanti)

    HTML
    Codice PHP:
    <form id="formail" method="post" action="">
    <
    div id="risposta"></div>


    Nome:</p>
    <
    input type="text" id="nome" name="nome"  value="" />



    Tipologia di stand:</p>
    <
    select name="tipologia">
    <
    option value="fronte">Un fronte</option>
    <
    option value="angolo">Ad angolo</option>
    <
    option value="penisola">A penisola</option></select>



    Messaggio:</p>
    <
    textarea id="messaggio" name="messaggio" rows="9" cols="20"></textarea>

    <
    input type="submit" id="invia" name="invia" value="Invia" />
    </
    form
    PHP
    Codice PHP:
    //Recuperiamo tutte le variabili
        
    $name $_POST['name'];
        
    $text $_POST['text'];
        
    $ip $_SERVER['REMOTE_ADDR'];
        
    //Qui andrà inserito il tuo indirizzo e-mail
    $to "xxx@xxx.net";

    //Creazione del mesaggio da inviare
    $message "
     Hai ricevuto una e-mail da: "
    .$name.".
    "
    ;
    $message .= "Messaggio: ".$text."
    "
    ;
    $message .= "Tipologia: ".$tipologia."
    "
    ;

    //Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
     
    if(mail($to$subject,$message$headers)){
        echo 
    "

    Messaggio inviato con successo</p>"
    ;
    }
    //Altrimenti un messaggio di errore
    else{ 
        echo 
    "

    Ci sono stati degli errori nell'invio della e-mail.</p>"
    ;

    JAVASCRIPT
    Codice PHP:
    $(document).ready(function(){
        $(
    "#invia").click(function(){
        
        
    //Recuperiamo tutte le variabili
            
    var valid '';
            var 
    isr ' è richiesto.</p>';
            var 
    name = $("#nome").val();
            var 
    tipologia = $("#tipologia").val();
            var 
    text = $("#messaggio").val();
            
        
    //Eseguiamo una serie di controlli
            
    if (name.length<1) {
                
    valid += '

    Un nome valido'
    +isr;
            }
        
            if (
    text.length<1) {
                
    valid += '

    Un messaggio valido'
    +isr;
            }
        
    //Se i controlli non vengono superati, appare il messaggio di errore.
            
    if (valid!='') {
                $(
    "#risposta").fadeIn("slow");
                $(
    "#risposta").html("

    [b]Errore:[/b]</p>"
    +valid);
                $(
    "#risposta").css("background-color","#ffc0c0");
            }
            
    //Se i controlli vengono superati, compare un messaggio di invio in corso
            
    else {
                var 
    datastr ='name=' name '&tipologia=' tipologia '&text=' text;
                $(
    "#risposta").css("display""block");
                $(
    "#risposta").css("background-color","#FFFFA0");
                $(
    "#risposta").html("

    Invio del messaggio in corso..</p>"
    );
                $(
    "#risposta").fadeIn("slow");
                
    setTimeout("send('"+datastr+"')",2000);
            }
            return 
    false;
        });
    });
    //Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
    function send(datastr){
        $.
    ajax({    
            
    type"POST",
            
    url"mail.php",
            
    datadatastr,
            
    cachefalse,
            
    success: function(html){
            $(
    "#risposta").fadeIn("slow");
            $(
    "#risposta").html(html);
            $(
    "#risposta").css("background-color","#e1ffc0");
            
    setTimeout('$("#risposta").fadeOut("slow")',2000);
        }
        });


  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    89
    Risolto.

    mancava solo l'ID del SELECT (c'era solo NAME).

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 © 2026 vBulletin Solutions, Inc. All rights reserved.