Abilitare i Radio Buttons

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
31
Salve :cool:
sto creando un nuovo metodo di pagamento con risposte multiple su Magento.

Codice:
<?php$question = Mage::getModel('emme_question/question')->getCollection()->getLastItem();
$answers = $question->getSelectedAnswersCollection();
?>
<h4><?php echo $this->escapeHtml($question->getValue()); ?></h4>
<ul>
<?php foreach ($answers as $answer): ?>
<li>
<label><?php echo $this->escapeHtml($answer->getValue()) ?></label>
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId() ?>" required>
</li>
<?php endforeach ?>

Tutto bene, ma i radio buttons sono disabilitati. Come si attivano?
 

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
31
ciao
immagino che tu intenda questo
<input name="aa" type="radio" value="xx" checked>

Ciao borgo italia,
ho fatto come suggerito, ho aggiunto checked.

Codice:
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId() ?>" required checked>

Ma ora mi risulta "checked" solo l'ultimo

zna7b5.jpg


A me invece serve che l'utente ha la possibilità di scegliere, inoltre che la risposta "checkata" venga salvata in modo da poter verificare se è la risposta giusta.

Grazie in anticipo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
guarda che quella è proprio la propretà dei radio.
di un gruppo di radio con lo stesso nome, ne tuo caso my_custom_answer, la ceccatura di uno esclude la ceccatura degli altri, cioè nel gruppo con lo stesso nome, SOLO un radio può essere ceccato.
quindi è logico che venga ceccato nel foreach solo l'ultimo, al primo giro del foreach viene ceccato il primo, al secondo viene ceccato il secondo radio con consegurente disceccatura del primo e così via sino all'ultimo.
poi per salvare il dato ceccato la serie di radio deve essere prima inserito in un form (con un pulsante di submit o con un js che invii i dati del form)
in un'altra pagina (o nella stessa) prelevi con il $_POST['my_custom_answer'] e lo salvi in db se vuoi mantenerlo o lo confronti con la risposta giusta e in funzione gli fai fare quello che deve fare
grosso modo:
PHP:
<?php
if($_POST['my_custom_answer']=="Parigi"){
	//giusto e fai fare quello che devi per la risposta giusta
}else{
	//erratoo e fai fare quello che devi per la risposta errata
}
?>
 

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
31
ciao
guarda che quella è proprio la propretà dei radio.
di un gruppo di radio con lo stesso nome, ne tuo caso my_custom_answer, la ceccatura di uno esclude la ceccatura degli altri, cioè nel gruppo con lo stesso nome, SOLO un radio può essere ceccato.
quindi è logico che venga ceccato nel foreach solo l'ultimo, al primo giro del foreach viene ceccato il primo, al secondo viene ceccato il secondo radio con consegurente disceccatura del primo e così via sino all'ultimo.

Ok, lo so che questa è la proprietà del "checked", però a me quello che interessa è che l'utente possa fare la scelta. Mi spiego meglio, come da titolo, a me serve che i radio bottons vengano abilitati.

Grazie per la pazienza.

Ps: ricorda che io sto lavorando su Magento
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
non capisco cosa tu intenda per abilitati.
comunque chiudi sempre le istruzioni php col loro ;
<label><?php echo $this->escapeHtml($answer->getValue());?></label>
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId(); ?>" required>
 

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
31
ciao
non capisco cosa tu intenda per abilitati.
comunque chiudi sempre le istruzioni php col loro ;
<label><?php echo $this->escapeHtml($answer->getValue());?></label>
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId(); ?>" required>

Come suggerito, ho chiuso le istruzioni PHP.

Codice:
<?php$question = Mage::getModel('emme_question/question')->getCollection()->getLastItem();
$answers = $question->getSelectedAnswersCollection();
?>
<h4><?php echo $this->escapeHtml($question->getValue()); ?></h4>
<ul>
<?php foreach ($answers as $answer): ?>
<li>
<label><?php echo $this->escapeHtml($answer->getValue()); ?></label>
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId(); ?>" required>
</li>
<?php endforeach ?>

Però il problema non si è risolto. Cerco di spiegarmi, quando tu mi escono i radio botton, io o qualsiasi utente, non ha la possibilità di "checkare" una delle opzioni.

Nel mio esempio, alla domanda: "Dove si trova il Museo del Louvre?" io non ho la possibilità di selezionare nessuna soluzione. Se inserisco il "checked", come mi avevi suggerito, viene "checkato" solo l'ultimo ma non ho modo di cambiare "check". E' chiaro ora?
 

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
31
Per chi ha il mio stesso problema, ho risolto così:


Codice:
public function validate()
{
  foreach (Mage::getModel('emme_question/question')->load(1)->getSelectedAnswersCollection() as $answer)
  {
    if ($answer->getIsCorrect())
    {
        if ($answer->getId() == $_POST['my_custom_answer'])
        {
               Mage::getSingleton('core/session')->addSuccess('Risposta esatta');
          } else
            {
                    Mage::throwException('Risposta sbagliata!');
                    header('refresh:3;url=index.php');
              }
     }     
   }
}
 

Rikk73

Utente Attivo
7 Apr 2015
137
6
18
Arezzo
Forse il problema poteva stare nel fatto che il tag <ul> sembra non venga chiuso dopo il foreach, e che non siano chiussi nemmeno i singoli radio

PHP:
<input type="radio" name="my_custom_answer" value="<?php echo $answer->getId(); ?>" required />

Non so se questo può inibire il corretto funzionamento degli input radio, ma di sicuro non è corretto
 
Discussioni simili
Autore Titolo Forum Risposte Data
R abilitare menu a tendina tramite relativa chekbox PHP 17
L [Apache] abilitare ssl in locale Apache 0
O PHP 5.6 non riesco ad abilitare TSL 1.2 PHP 1
S [PHP] Abilitare un pulsante dopo scelta file... PHP 3
A Abilitare disabilitare un sito in Apache2 Apache 0
J Abilitare bottone dopo click su immagine Javascript 1
D Abilitare link dopo inserimento valore nella textbox PHP 2
L Abilitare download font Google Chrome HTML e CSS 0
O .htaccess abilitare 2 livello o sottocartella Apache 0
M Si deve installare/abilitare la estensione XMLRPC extension nella configurazione PHP PHP 6
D Abilitare scrollbar su textarea disabled HTML e CSS 0
E Abilitare estensione CURL Win2003 PHP 1
M abilitare zip in php5 su linux PHP 1
R Abilitare server php per invio mail PHP 12
A Abilitare il php nei topic Content Management System (CMS) 0
A come abilitare in ordine un imput di tipo file??? Javascript 3
I abilitare e disabilitare dei link PHP 3
J come abilitare i tasti funzione Hardware 1
felino Radio button e Bootstrap: modificare il colore di default! HTML e CSS 1
M Problema con visibility e radio button Javascript 2
R radio input php mysql PHP 2
Monz94 [Javascript] [HTML] Creare Checkbox o Radio con Immagini Javascript 0
F [Javascript] Jquery radio Javascript 2
G [Javascript] Test se un radio è stato checked Javascript 1
F Check radio button jQuery 1
V [PHP] Salvare campo radio in db e leggerlo PHP 15
A Form recupero campo Radio PHP 7
Benix89 Come salvare radio button selezionato Magento 1
napuleone Leggere la scelta radio Javascript 0
Benix89 Salvare radio button selezionato PHP 2
S Come estrapolare nomi colonne tabella e affiancare Input Radio PHP 16
L [gratuito][offro] Radio artista web cerca collaboratore Web Master Offerte e Richieste di Lavoro e/o Collaborazione 1
filomeni Configurazione router per rete via radio Reti LAN e Wireless 28
M collegare tasti radio con e mail PHP 4
R Due reti Due firewall Due connessioni e un ponte radio Reti LAN e Wireless 16
A visualizzare testo a seguito di check radio button Javascript 1
X Intercettare cambio valore radio jQuery 1
N Radio Button PHP 1
F Caricare immagine da Mysql su evento click-radio Javascript 5
T selezionare un campo da un db con radio button PHP 0
F radio button remove() jquery jQuery 1
T App per ascoltare la radio in B4A Sviluppo app per Android 5
Monital [risolto] Inviare un input radio assieme ad un link PHP 7
radioButton validazione input tipo radio Javascript 2
F [risolto] input type radio PHP 5
L gestire array per radio-checkbox in ciclo while PHP 2
D recupero valore radio button PHP 1
Q input radio che influisce su input successivi PHP 2
L radio button scattenare get per la query PHP 4
M Creare una Web radio Discussioni Varie 0

Discussioni simili