2011-11-08 14 views
6

Używam przycisków radiowych w Yii i bez względu na to, co robię, nie mogę uzyskać wartości wybranego przycisku do wysłania. Jestem pewien, że to po prostu coś prostego. NIE używam opcji radioButtonList, ponieważ chcę, aby każdy przycisk istniał we własnej div z obrazem powyżej.Przyciski radiowe Yii

Oto mój kod z widoku ...

<?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(); ?>

Odpowiedz

12
<?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)); ?> 

wystarczy dodać

'uncheckValue' => NULL

w htmlOption tablicy

to będzie działać ..

+2

Człowiek po prostu uratował mój dzień. Utknąłem przez cały * dzień * dzięki tej niezrozumiałej funkcji. – hijarian

+0

należy pamiętać, że wygeneruje on również wiele wejść z tym samym znacznikiem HTML, który złamie pewną logikę HTML –

+1

WTF. Miałem ten sam problem ... rly yii? poważnie, co tu się dzieje? w każdym razie, dzięki 22francis, jesteś ratownikiem! – train

1

W trzecim parametrze chtml :: activeRadioButtonList za (htmlOptions) istnieje opcja nazywa się 'szablon'. Powinieneś rzucić okiem.

Powiązane problemy