Botones de radio Yii

Estoy usando botones de radio en Yii y no importa lo que haga, no puedo obtener el valor del botón seleccionado para publicar. Estoy seguro de que es algo simple. NO estoy usando radioButtonList porque quiero que cada botón exista en su propio div con una imagen encima.

Aquí está mi código de la vista ...

<?php $this->pageTitle=Yii::app()->name; ?>

<h1>Welcome to <i><?php echo CHtml::encode(Yii::app()->name); ?></i></h1>

<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'lead_form',
'enableAjaxValidation'=>false,
)); ?>
<h3>Choose Your Prize!</h3>

 <div id="prizes">
<div class="prize">
<h3>Paypal</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>1)); ?>
</div>
<div class="prize">
<h3>Check</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>2)); ?>
</div>
<div class="prize">
<h3>AlertPay</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>3)); ?>
</div>
<div class="prize">
<h3>Iphone 4</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>4)); ?>
</div>
<div class="prize">
<h3>Ipad 2</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>5)); ?>
</div>
<div class="prize">
<h3>Custom</h3>
<?php echo $form->radioButton($model,'user_prize',array('value'=>6)); ?>
</div>
</div>
<h3>Enter Your Email</h3>
<div id="mainemail">
<div class="row">
    <?php echo $form->labelEx($model,'user_email'); ?>
    <?php echo $form->textField($model,'user_emhttp://stackoverflow.com/editing-    helpail'); ?>
    <?php echo $form->error($model,'user_email'); ?>
</div>

<div>
    <?php echo $form->errorSummary($model); ?>
</div>

<div class="row buttons">
    <?php echo CHtml::submitButton('Submit'); ?>
</div>

endWidget (); ?>

preguntado el 08 de noviembre de 11 a las 16:11

2 Respuestas

<?php echo $form->radioButton($model,'user_prize',array('value'=>1,'uncheckValue'=>null)); ?>
<?php echo $form->radioButton($model,'user_prize',array('value'=>2,'uncheckValue'=>null)); ?>
<?php echo $form->radioButton($model,'user_prize',array('value'=>3,'uncheckValue'=>null)); ?>
<?php echo $form->radioButton($model,'user_prize',array('value'=>4,'uncheckValue'=>null)); ?>
<?php echo $form->radioButton($model,'user_prize',array('value'=>5,'uncheckValue'=>null)); ?>

solo agrega

'uncheckValue' => nulo

en la matriz htmlOption

funcionará..

Respondido 02 Feb 12, 00:02

Hombre, acabas de salvarme el día. Estuve atrapado por un todo día gracias a esta característica poco intuitiva. - hijarian

Tenga en cuenta que también generará múltiples entradas con la misma etiqueta HTML de identificación que romperá algo de lógica HTML - Marian Zburlea

WTF. Tuve este mismo problema ... ¿rly yii? en serio, ¿qué está pasando aquí? de todos modos, gracias 22francis, ¡eres un salvavidas! - tren

CHtml # activeRadioButton-detalle Hay disponible una opción especial llamada 'uncheckValue' que se puede usar para especificar el valor devuelto cuando el botón de opción no está marcado. De forma predeterminada, este valor es '0'. Internamente, se representa un campo oculto para que cuando el botón de opción no esté marcado, podamos obtener el valor de desmarque publicado. Si 'uncheckValue' se establece como NULL, el campo oculto no se procesará. - visitasb

En el tercer parámetro de CHtml :: activeRadioButtonList (htmlOptions) hay una opción llamada 'plantilla'. Deberías echar un vistazo.

respondido 12 nov., 11:17

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.