Visualizzazione risultati 1 fino 19 di 19

Discussione: Checkbox non multiselezionato

  1. #1
    Guest

    Predefinito Checkbox non multiselezionato

    Ho un piccolo problema:

    Codice HTML:
    Domanda?
    <input type="checkbox" name="res[0][1]" value="Risposta 1">
    <input type="checkbox" name="res[0][2]" value="Risposta 2">
    Il problema è che posso selezionare entrambi i checkbox.
    Questo nasce dal fatto che per crearmi un array (sono costretto) devo usare quell'attributo name.

    Qualche workaround? :D

    Edit sono radio non checkbox, ma la storia rimane invariata.
    Ultima modifica di svacant : 13-11-2009 alle ore 20.46.34

  2. #2
    Guest

    Predefinito

    io di soloto faccio

    Codice PHP:
    <input type="checkbox" name="bla" id="res[]" value="idovalore">
    <
    input type="checkbox" name="bla" id="res[]" value="idovalore">
    oppure il contrario...
    Ultima modifica di zomer : 13-11-2009 alle ore 19.09.43

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,253

    Predefinito

    ehm, perche' non type="radio"?
    Ultima modifica di dreadnaut : 13-11-2009 alle ore 19.07.47

  4. #4
    Guest

    Predefinito

    Ma i radio non devono avere lo stesso nome come i checkbox o mi sbaglio?

  5. #5
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da zomer Visualizza messaggio
    Ma i radio non devono avere lo stesso nome come i checkbox o mi sbaglio?
    Che vuol dire ?

    Segui il consiglio di dreadnaut.
    Gli input type="radio" sono fatti a posta per obbligare l'utente ad un unica scelta, perchè complicarsi la vita con le checkbox che sono fatte a posta per il multi selezionamento ???

    Saluti!

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    Citazione Originalmente inviato da zomer Visualizza messaggio
    Ma i radio non devono avere lo stesso nome come i checkbox o mi sbaglio?
    Che vuol dire ?

    Segui il consiglio di dreadnaut.
    Gli input type="radio" sono fatti a posta per obbligare l'utente ad un unica scelta, perchè complicarsi la vita con le checkbox che sono fatte a posta per il multi selezionamento ???

    Saluti!
    Se leggi bene
    Codice:
    <input type="checkbox" name="res[0][1]" value="Risposta 1">
    <input type="checkbox" name="res[0][2]" value="Risposta 2">
    il nome non è uguale, perciò con type="radio" si ha la multiselezione.
    Se invece non si vuole la multiselezione con i type="radio" il nome deve essere uguale.
    Ultima modifica di andreafallico : 13-11-2009 alle ore 19.57.00

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Se leggi bene
    Codice:
    <input type="checkbox" name="res[0][1]" value="Risposta 1">
    <input type="checkbox" name="res[0][2]" value="Risposta 2">
    il nome non è uguale, perciò con type="radio" si ha la multiselezione.
    ecco cosa volevo dire...

  8. #8
    Guest

    Predefinito

    Il problema è che proprio il name, perché cambiarlo significherebbe riprogettare l'applicazione...
    Magari con javascript...idee?

  9. #9
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Javascript certamente:
    Codice:
    (pseudo codice)
    
    function escludi(campo){
    	if campo unselected
    	then
    		for i = 1 ... count(campi), i != campo
    			res[0][i].disabled = disabled
    	else if campo selected
    	then
    		for i = 1 ... count(campi), i != campo
    			res[0][i].disabled = not disabled
    }
    
    <input campo onClick=escludi(campo_id)>
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  10. #10
    Guest

    Predefinito

    Se cambiassi l'attributo name tramite javascript?...mmm

    Cioè ho un valore di partenza per name che mi permette di evitare il multiselect e poi lo riscrivo con js.

    Edit: nada...
    Ultima modifica di svacant : 13-11-2009 alle ore 23.01.06

  11. #11
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Per esempio lo puoi fare con jquery
    Codice:
    function fun(){
    $('#id').attr('name', res[0][i]);
    return true;
    }
    <form action="..." method="..." onsubmit="return fun();">

  12. #12
    Guest

    Predefinito

    Ho risolto facendo una sorta di wrapper dell'input radio :D

  13. #13
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    sai mi è venuta un'idea... perchè non hai usato un semplicissimo menù a tendina? xD
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  14. #14
    Guest

    Predefinito

    Io non ho capito il tuo problema. Posta la domanda, hai una risposta multipla o no?

  15. #15
    Guest

    Predefinito

    Il problema è semplice, ho avuto la necessità di assegnare il valore name diverso per ogni input radio, accade che posso selezionarne uno o più e per me è un problema...

    Però ho risolto facendo il "doppione" ed alternando javascript :D

    Da titolo ho messo checkbox ma si tratta di radio, è che ne ho provate di tutti i colori e mi sono incasinato.
    :)

  16. #16
    Guest

    Predefinito

    Cioè vuoi usare pulsanti radio per avere scelte multiple?

  17. #17
    Guest

    Predefinito

    Comunque ho risolto :D

  18. #18
    L'avatar di dapeco
    dapeco non è connesso Community Manager
    Data registrazione
    21-10-2003
    Residenza
    Brusasco (To)
    Messaggi
    4,909

    Predefinito

    Puoi postare il tuo workaround? Potrebbe essermi utile in futuro.
    Ho visto cose che voi utenti non potreste immaginare... siti da combattimento irregolari al largo dei bastioni di Orione. E ho visto account balenare nel buio vicino alle porte di Tannhauser. E tutti quei momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo di sospendere...

    ASD Brusasco - C'è altro sport oltre al calcio!

    "Io sono vivo, voi siete morti" (Philip Dick, Ubik)

  19. #19
    Guest

    Predefinito

    Yes, ecco:


    Codice:
    Codice PHP:
    <?php
    $queries
    = array('1'=>'Domanda uno','2'=>'Domanda due');
    $answers = array('1'=>'Uno','2'=>'Due','3'=>'Tre');


    foreach(
    $queries as $k=>$query){

    echo
    $query;

    foreach(
    $answers as $k2=>$answer){
    ?>

    <input type="radio" name="sep_<?=$k;?>" onclick="javascript:radio('<?=$k;?>','<?=$k2;?>','<?=$answer;?>');" /><?=$answer?><br/>
    <input type="radio" name="sep_<?=$k;?>" onclick="javascript:radio('<?=$k;?>','<?=$k2;?>','<?=$answer;?>');" /><?=$answer?><br/>
    <input type="radio" name="sep_<?=$k;?>" onclick="javascript:radio('<?=$k;?>','<?=$k2;?>','<?=$answer;?>');" /><?=$answer?><br/>

    <?}?>
    <input id="check_<?=$k;?>" type="hidden" />
    <?}?>
    Codice js:
    Codice HTML:
    function radio(k,k2,value){
    
    $("#check_"+k).attr('name','answer['+k+']['+k2+']');
    
    $("#check_"+k).attr('value',value);
    }
    Si tratta di un quiz :D, comunque a proposito di workaround, vi è mai capitato di dover impostare "selected" in una select box tramite php? scommetto abbiate usato if a volontà, io ho trovato un rimedio miglior :D.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •