Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186

    controllo su radio button

    Salve a tutti il mio problema è questo: ho un form su cui voorei fare un controllo; tutto funziona bene tranne il controllo sul radio button;io vorrei che se non viene selezionata nessuna delle voci mi dicesse che devo insereire una risposta e vorrei che tornasse al form. VI invio il codice e la funzione javascript....Qualcuno può darmi una mano????
    Grazie
    --------------------------------------------
    <? $q_sel2="SELECT * FROM risposte LEFT JOIN domande USING (domanda_id)";
    $r_sel2=mysql_query($q_sel2) or die('errore query risposte');
    while ($dr2=mysql_fetch_assoc($r_sel2)){?><input type="radio" name="risposta_id" value="<? print $dr2[risposta_id];?>"><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"><? print $dr2[risposta];?></font>
    <? }?>

    -------------------------------------------
    function validate(form)
    {
    var rc = true;
    if (document.form.risposta_id.checked==false)
    {
    alert("Per favore inserisca una risposta. Tutti i campi asterisco devono essere compilati. Grazie");
    form.risposta_id.focus();
    rc = false;
    }
    if (rc)
    {
    alert("GRAZIE\n" + " La contatteremo al piu' presto ")
    }
    return rc
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    La soluzione più semplice secondo me è quella di aggirare l'ostacolo
    assegnando di default l'attributo checked a uno dei radio.

    Se non è possibile allora considera che document.form.risposta_id è
    in realtà un array di oggetti radio quindi per vedere che nessuno
    sia stato spuntato serve un ciclo in cui fai il controllo per ciascuno.
    Penso che convenga gestirlo in una funzione a parte per
    maggiore chiarezza del codice:

    Ecco uno spunto.

    function checkedRadio(radioGroup){
    for(var i=0; i<radioGroup.length; i++)
    if(radioGroup[i].checked)return radioGroup[i];
    return null;
    }

    function validate(form)
    {
    var rc = true;
    if (!checkedRadio(document.form.risposta_id))
    {
    ecc ecc
    javascript: tutto attaccato

  3. #3
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186
    Grazie...però c'è un piccolo problema....se non metto nessuna risposta,mi scrive l'alert ma non mi ritorna al form....hai suggerimenti???

  4. #4
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186
    up

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    E' un problema che ha a che fare con la funzione validate che probabilmente una volta verificati i radio non fa quello che dovrebbe fare, o forse dipende dal modo un cui viene richiamata dal modulo (hai usato un onsubmit?)

    Cmq sia, ti posto la bozza di una possibile soluzione.

    <script>

    function checkedRadio(radioGroup){
    for(var i=0; i<radioGroup.length; i++)
    if(radioGroup[i].checked)return radioGroup[i];
    return null;
    }

    function validate(frm){
    if (!checkedRadio(frm.risposta_id)) {
    alert("Per favore inserisca una risposta. Tutti i campi asterisco devono essere compilati. Grazie");
    return false;
    }
    else {
    alert("GRAZIE\n" + " La contatteremo al piu' presto ");
    return true;}
    }

    </script>

    <form onsubmit="return validate(this)">
    <input type="radio" name="risposta_id" value="1">1
    <input type="radio" name="risposta_id" value="2">2
    <input type="radio" name="risposta_id" value="3">3
    <input type="radio" name="risposta_id" value="4">4
    <input type="submit">
    </form>
    javascript: tutto attaccato

  6. #6
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186
    non funziona!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    cosa non funziona ?

    fatto copia incolla e non funziona?
    provato a adattare lo script e non funziona?
    javascript: tutto attaccato

  8. #8
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186
    il mio script è praticamente identico a quello che mi hai postato e continua sempre a non rimandarmi al form...

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    63
    E il form?

    Qui abbiamo solo uno stralcio in php e manca la parte più importante <FORM onSubmit="return validate()">

    è messo così?
    javascript: tutto attaccato

  10. #10
    Utente di HTML.it L'avatar di lau.l
    Registrato dal
    Feb 2004
    Messaggi
    186
    Si il form è così: <form action="contatti2.php" method="post" name="form" onsubmit="return validate(this);">

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.