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

    codice per dare vita a due radio button tipo si / no

    buongiorno a tutti. Ho un form contatti che graficamente è costruito in html e supportato da un css, e a livello funzionale è invece comandato da un file javascript.
    In questo modulo (che ho già testato e funziona alla perfezione) compaiono i campi per nome, mail, oggetto e textarea per il messaggio, e il codice js è in grado di riconoscere se uno o più campi non sono compilati correttamente.
    Il mio problema è il seguente: voglio implementare questo form contatti con due radio button (che ho già costruito a livello grafico andando a variare in modo opportuno il codice html), ma non sapendo nulla di js, vorrei sapere come è possibile implementare il codice per "dare vita" ai due plusanti di scelta che ho creato.
    I due pulsanti radio hanno opzioni incompatibili tra essi, quindi scegliere uno, esclude automaticamente la scelta dell'altro, infatti sono di tipo si/no, e la funzionalità che voglio dare a tali pulsanti è quella che dà info a chi riceve la mail del form contatti a riguardo della scelta si/no fatta dall'utente che ha compilato il form.

    Infatti, allo stato attuale delle cose, pubblicando il form contatti, l'utente compila il modulo e sulla mia casella di posta (preimpostata nel modulo) arriva un messaggio del tipo:
    hai ricevuto un msg da tizio, mail tizio@esempio.com. Testo del messaggio: bla bla bla

    Io invece vorrei ricevere mail del tipo: hai ricevuto un msg da tizio, mail tizio@esempio.com. Testo del messaggio: bla bla bla. L'utente ha scelto di accettare l'opzione/l'utente ha scelto di non accettare l'opzione

    In allegato c'è il js che gestisce il modulo. Se necessario, posso fornire gli altri files del form contatti. Fatemi sapere qualcosa, vi prego, sto diventando scemo...
    grazie a tutti e buona giornata
    corrado

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: codice per dare vita a due radio button tipo si / no

    benvenuto sul forum
    Originariamente inviato da corrycorry
    In allegato c'è il js che gestisce il modulo.


    Comunque per verificare se un particolare radio e' selezionato occorre tener conto del fatto che i radio sono una collezione all'interno del form... esempio:
    [code]
    <form name="mioForm" ... >
    ...
    <input type="radio" name="scelta" value="si"> Si
    <input type="radio" name="scelta" value="no"> No
    ...

    <script>
    ...
    if(document.mioForm.scelta[0].checked) alert('hai scelto SI')
    [code]
    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
    ciao br1. Ascolta, intanto ti ringrazio per la risposta, ma il codice javascript per il modulo di cui dispongo non l'ho scritto io, e il fatto è che io non conosco per niente il codice js, per cui, la tua risposta per me risulta troppo generica per far sì che mi risolva il problema, infatti ho provato ad inserire il codice da te suggerito nel file js che ho anche allegato alla discussione, ma dw mi restituisce errori. Non so dove inserire il codice che mi hai scritto...

    Di seguito scrivo anche il codice del form contenuto nel file html:

    nella head ho un richiamo al css e uno al file js che ho allegato in precedenza, e cioè:

    <link rel="stylesheet" type="text/css" href="style.css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>


    invece nel body, il form è questo:

    <script type="text/javascript" src="jquery_mail.js"></script>

    <form id="formail" method="post" action="">
    <div id="risposta">
    </div>


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



    E-mail:</p>
    <input type="text" id="email" name="email" value="" />



    Oggetto:</p>
    <input type="text" id="oggetto" name="oggetto" value="" />



    Messaggio:</p>



    <textarea id="messaggio" name="messaggio" rows="9" cols="22"></textarea>
    </p>


    Voglio iscrivermi alla newsletter per essere sempre aggiornato su novità e offerte


    </p>



    <label>
    <input type="radio" name="newsletter" value="S" id="Voglioiscrivermi_0" />
    Sì</label>

    <label>
    <input type="radio" name="nonewsletter" value="N" id="Voglioiscrivermi_1" />
    No</label>

    <input type="submit" id="invia" name="invia" value="Invia" />
    </form>

    Però, nel documento js che dà vita al modulo (il file che ho allegato prima, per intenderci), dove devo inserire il codice che mi hai scritto? In che punto del documento?
    Riesci ad essere più dettagliato?
    grazie!

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non hai allegato nulla... e nelle righe che hai postato non vedo javascript oltre al richiamo delle librerie
    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
    vero, non ho allegato nulla perchè mi sono appena accorto che gli unici files che si possono allegare sono ad estensione fotografica.
    Dunque, incollo qui di seguito il file.js che mi gestisce il funzionamento del form, file in cui devo inserire la funzione per la scelta si/no dei radio button (ricordo che la scelta fatta dall'utente deve restituirmi via mail se l'utente ha cliccato si o no):

    $(document).ready(function(){
    $("#invia").click(function(){

    //Recuperiamo tutte le variabili
    var valid = '';
    var isr = ' è richiesto.</p>';
    var name = $("#nome").val();
    var mail = $("#email").val();
    var subject = $("#oggetto").val();
    var messaggio = $("#messaggio").val();
    //Eseguiamo una serie di controlli
    if (name.length<1) {
    valid += '

    Un nome valido'+isr;
    }
    if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
    valid += '

    Un indirizzo e-mail valido'+isr;
    }
    if (subject.length<1) {
    valid += '

    Un oggetto valido'+isr;
    }

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

    Errore:</p>"+valid);
    $("#risposta").css("background-color","#ffc0c0");
    }
    //Se i controlli vengono superati, compare un messaggio di invio in corso
    else {
    var datastr ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&messaggio=' + encodeURIComponent(messaggio);
    $("#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",
    data: datastr,
    cache: false,
    success: function(html){
    $("#risposta").fadeIn("slow");
    $("#risposta").html(html);
    $("#risposta").css("background-color","#e1ffc0");
    setTimeout('$("#risposta").fadeOut("slow")',2000);
    }
    });
    }


    grazie per la pazienza

  6. #6
    dunque? nessuno riesce a darmi un aiutino...?

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.