Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Radio button obbligatori in un form

    Ciao a tutti!
    Sto realizzando dei test in ASP. Le domande sono caricate in un database e possono essere di tipo vero/falso, testuali, oppure si deve inserire un valore (ad es. da 0 a 5).
    Le domande vero/falso e "valori" sono fatte con dei radio button.

    Se chi esegue il test clicca su OK e non risponde a tutte le domande, la pagina successiva lo avverte di questo, ma tornando alla pagina precedente perde le risposte che aveva già inserito (in Firefox e IE, in Opera il contenuto dei form rimane).

    Pensavo quindi di usare un JavaScript per controllare che l'utente abbia risposto a tutte le domande prima che il submit possa essere eseguito. È una soluzione praticabile?

    Grazie in anticipo per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Ho trovato questo script, che ho modificato così:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><head><title>Test</title><link rel="stylesheet" type="text/css" href="../../style.css" />
    <script type="text/javascript" language="JavaScript">
    <!--
    function checkrequired(which){
    var pass=true
    if (document.images){
    for (i=0;i<which.length;i++){
    var tempobj=which.elements[i]
    if (tempobj.name.substring(0,8)=="required"){
    if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
    pass=false
    break
    }
    }
    }
    }
    if (!pass){
    alert("Non hai risposto a tutte le domande.")
    return false
    }
    else
    return true
    }
    //-->
    </script>
    </head>
    <body>
          
    
    Torna all'indice dei test</p>
          <p class="titolo">SEI PRONTO?</p>
          
    
    Rispondi SI o NO alle seguenti domande:</p>
          <form onSubmit="return checkrequired(this)">
          <input type="hidden" name="id" value="3">
          <input type="hidden" name="zona" value="2">
    
    <td class="sinistra">Sto affrontando o voglio affrontare [...]? <input name="requiredidRiga9" type="radio" value="-1">Sì<input name="requiredidRiga9" type="radio" value="0">No
    
    Esiste un gap notevole [...]? <input name="requiredidRiga10" type="radio" value="-1">Sì<input name="requiredidRiga10" type="radio" value="0">No
    
    Investire sullo sviluppo [...]? <input name="requiredidRiga11" type="radio" value="-1">Sì<input name="requiredidRiga11" type="radio" value="0">No
    
    
    <input type="submit" value="     Ok     " />
    </body>
    </html>
    Purtroppo con i radiobutton pare non funzionare. Help!

  3. #3

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Copia e incolla

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            
            <title>form</title>
            
        <script type="text/javascript">
        // <![CDATA[
            function complete() {
            
                var mod = document.getElementById('modulo')
                var mod_i = mod.getElementsByTagName('input');
                var risposte = 0; 
                
                for (i=0; i<mod_i.length; i++) {
                    if (mod_i[i].type == 'radio') {
                        if (mod_i[i].checked) ++risposte;
                    }
                }
                
                // cambia 3 con il tuo numero di domande
                if (risposte < 3) {
                    alert('Hai risposto a '+ risposte+' domanda/e.\nCompleta il questionario');
                    return false;
                }
                
                return true;
            }
    
        // ]]>
        </script>
    
    <body>
    
    <form action="..." method="..." onsubmit="return complete()" id="modulo">
        <input type="radio" name="domanda1" value="true" />
        <input type="radio" name="domanda1" value="false" />
        
    
        <input type="radio" name="domanda2" value="true" />
        <input type="radio" name="domanda2" value="false" />
        
    
        ...
        <input type="radio" name="domanda10" value="true" />
        <input type="radio" name="domanda10" value="false" />
        
        <input type="submit" value="invia" />
    </form>
    
    <body>
    </html>
    Ciao
    -Fab-




    keywords: contare opzioni radiobox radio selezionate modulo form incompleto
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Sto finalmente provando il tuo codice...
    I primi due tag, <DOCTYPE> e <HTML>, mi cambiano l'interpretazione dei CSS... devo per forza usare questi?

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da longline
    Sto finalmente provando il tuo codice...
    I primi due tag, <DOCTYPE> e <HTML>, mi cambiano l'interpretazione dei CSS... devo per forza usare questi?
    Ho usato i tag originali e funziona tutto, grazie

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.