Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    radio e checkbox che interagiscono

    Devo creare una tabella di questo tipo

    DOMANDA FIRST SECOND

    risposta1 checkbox1 radio1

    risposta2 checkbox2 radio2

    risposta3 checkbox3 radio3

    dove praticamente l'utente può selezionare più di una FIRST risposta ( per questo motivo ho scelto una checkbox ) mentre può selezionare solo 1 risposta SECOND ( per questo ho usato un radio ).
    Quello che vorrei è la seguente:
    Appena l'utente seleziona una checkbox, la corrispondente radio deve disabilitarsi ( es. l'utente clicca su checkbox1 allora la radio1 si disabilita/cioè si oscura ) e analogamente appena l'utente clicca sulla checkbox attivata precedentemente e quindi la deseleziona, la radio corrispondente deve riabilitarsi ( basandoci sull'es. precedente, radio 1 deve abilitarsi dopo che si deseleziona la checkbox1 ).
    Ho usato le seguenti funzioni:
    function denascondi(box,valore,val) {
    document.getElementById(""+box+"").innerHTML = "<input type=radio name="+valore+"value="+val+">";}
    function nascondi(box,valore) {
    document.getElementById(""+box+"").innerHTML = "<input type=checkbox name="+valore+" value='' >";}
    per nascondere e denascondere ( permettetemi l'uso di questo termine ). Non so però come procedere per utilizzarli. Avevo pensato di mettere sull'onclick la funzione nascondi. E la funzione denascondi?
    Non so come procedere.

  2. #2
    Ci sarà solo una domanda o ce ne sarà un numero indefinito?

  3. #3
    nell'allegato è presente un esempio concreto di quello che chidevo.
    Inoltre ho sbagliato io nell'impostare il tutto. Infatti l'utente deve selezionare solo 1 risposta nel lato FIRST e solo 1 rispsta nel lato SECOND ( tra quelle rimaste disponibili - cioè tutte tranne quella selezionata nel FIRST ).
    Il problema è che non so come mettere le funzioni javascript all'interno dei tag input
    Immagini allegate Immagini allegate

  4. #4
    Scusa, ma in corsa avevo cambiato il post.

    In base a quanto dici, allora, anche 'first' potrebbe sfruttare gli input radio, giusto?

  5. #5
    Ci sono 7 possibili risposte.
    Tra queste l'utente deve selezionare quale ritiene la + importante ( es. la risposta 3 ) e tra le rimanenti ( cioè tutte tranne la 3 ) deve selezionare quel ritiene la seconda + importante.
    Per questo parlavo di "nascondi" e "denascondi" al click o meglio alla selezione.

  6. #6
    Ricapitolando: nel modulo c'è una sola domanda; 'first' prevede una selezione unica; 'second' prevede una selezione unica, decurtata nella scelta dalla risposta selezionata in 'first'.

    Giusto?

  7. #7
    Esattamente.

  8. #8
    Prendi spunto da questa mia elucubrazione di 5 minuti, brutta, migliorabile, ma funzionante:
    (manca il submit, e un po' di altre cosette)
    Eccola:
    codice:
    <html>
    <head>
    <script type="text/javascript">
    var Num = 5;
    function testFirst(nFirst) {
    var f; 
    var i;
    	for (i=0;i<Num;i++) {
    		f = document.getElementById("second"+i.toString());
    		if (i==nFirst) {
    			f.checked = false;
    			f.disabled = true;
    		}
    		else {
    			f.disabled = false;
    		}
    	}
    }
    function testSecond(nSecond) {
    var f ; 
    var i;
    	for (i=0;i<Num;i++) {
    		f = document.getElementById("first"+i.toString());
    		if (i==nSecond) {
    			f.checked = false;
    			f.disabled = true;
    		}
    		else {
    			f.disabled = false;
    		}
    	}
    }
    </script>
    </head>
    <body>
    <form id="LaForm">
    <table style="border:0px">
    <tr>
    	<td>Prima scelta</td>
    	<td><input id="first0" name="first" type="radio" onclick="testFirst(0);" /></td>
    	<td><input id="second0" name="second" type="radio" onclick="testSecond(0);" /></td>
    </tr>
    <tr>
    	<td>Seconda scelta</td>
    	<td><input id="first1" name="first" type="radio" onclick="testFirst(1);" /></td>
    	<td><input id="second1" name="second" type="radio" onclick="testSecond(1);" /></td>
    </tr>
    <tr>
    	<td>Terza scelta</td>
    	<td><input id="first2" name="first" type="radio" onclick="testFirst(2);" /></td>
    	<td><input id="second2" name="second" type="radio" onclick="testSecond(2);" /></td>
    </tr>
    <tr>
    	<td>Quarta scelta</td>
    	<td><input id="first3" name="first" type="radio" onclick="testFirst(3);" /></td>
    	<td><input id="second3" name="second" type="radio" onclick="testSecond(3);" /></td>
    </tr>
    <tr>
    	<td>Quinta scelta</td>
    	<td><input id="first4" name="first" type="radio" onclick="testFirst(4);" /></td>
    	<td><input id="second4" name="second" type="radio" onclick="testSecond(4);" /></td>
    </tr>
    </table>
    </form>
    </body>
    Se salvi il codice in un file html e lo apri con il browser, dovrebbe andare

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  9. #9
    Grazie mille. Adesso provo.

  10. #10
    Perfetto. Grazie 1000 per l'aiuto fondamentale che mi hai dato.

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