php codeigniter - 表单助手 - 如何在无线电输入上实现 set_value
Posted
技术标签:
【中文标题】php codeigniter - 表单助手 - 如何在无线电输入上实现 set_value【英文标题】:php codeigniter - form helper - How to implement set_value on radio input 【发布时间】:2011-12-20 10:33:33 【问题描述】:我正在使用 codeigniters 表单助手为我的网站设置反馈表单。
我的表单已创建并已实施验证,一切正常。
我唯一的问题是添加 set_value() 函数以在发生错误时重新填充表单。
我无法让它在我的收音机输入上工作,你如何将 set_value() 函数添加到收音机类型。
代码:
<ul>
<li><?php echo form_radio('found_by', 'newspaper_advert', set_value('found_by')); ?> Newspaper advert</li>
<li><?php echo form_radio('found_by', 'press_release', set_value('found_by')); ?> Press release</li>
<li><?php echo form_radio('found_by', 'text_message', set_value('found_by')); ?> Text message</li>
<li><?php echo form_radio('found_by', 'email', set_value('found_by')); ?> Email</li>
<li><?php echo form_radio('found_by', 'refferal', set_value('found_by')); ?> Referred to by a friend</li>
<li><?php echo form_radio('found_by', 'telemarketing', set_value('found_by')); ?> Telemarketing</li>
<li><?php echo form_radio('found_by', 'leaflet_flyer', set_value('found_by')); ?> Leaflet or flyer</li>
<li><?php echo form_radio('found_by', 'radio', set_value('found_by')); ?> Radio</li>
<li><?php echo form_radio('found_by', 'television', set_value('found_by')); ?> Television</li>
<li><?php echo form_radio('found_by', 'internet_advert', set_value('found_by')); ?> Internet advert</li>
<li><?php echo form_radio('found_by', 'search_engine', set_value('found_by')); ?> Search engine</li>
<li><?php echo form_radio('found_by', 'none', set_value('found_by')); ?> None of the above</li>
</ul>
【问题讨论】:
【参考方案1】:<input type="radio" name="myradio" value="1" <?php echo set_radio('myradio', '1'); ?> />
<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />
<input type="radio" name="myradio" value="3" <?php echo set_radio('myradio', '3'); ?> />
<input type="radio" name="myradio" value="4" <?php echo set_radio('myradio', '4'); ?> />
就是这么简单……
【讨论】:
【参考方案2】:试试这个,它对我有用:
性别:
< ?php echo form_radio("gender", "Female", NULL, set_radio('gender', 'Female')); ?>Female
< ?php echo form_radio("gender", "Male", NULL, set_radio('gender', 'Male')); ?>Male
【讨论】:
【参考方案3】:<?= form_radio('found_by', 'newspaper_advert', $found_by == 'newspaper_advert'); ?>
【讨论】:
【参考方案4】: <?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', 'under 18', TRUE) ) ). "under 18"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', '18 to 29', TRUE) ) ). "18 to 29"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', '30 to 49', TRUE) ) ). "30 to 49"; ?><br />
<?php echo form_radio( array( 'name'=> 'age_group','id'=>'age_group','class'=> 'input-xsmall focused inputError','type'=>'radio',set_radio('age_group', 'above 49', TRUE) ) ). "above 49"; ?>
是正确的代码吗??
【讨论】:
【参考方案5】:set_value
仅适用于输入和文本区域。你需要set_radio
set_radio()
允许您以提交状态显示单选按钮。 这个函数和上面的 set_checkbox() 函数是一样的。
<input type="radio" name="myradio" value="1" <?php echo set_radio('myradio', '1', TRUE); ?> />
<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />
来自文档页面:http://codeigniter.com/user_guide/helpers/form_helper.html
【讨论】:
对我不起作用,我使用值 0 和 1 而不是 1 和 2,有什么线索吗? @Chumillas,您是否在set_radio
函数中将 0 和 1 作为字符串传递?
是的,和你一样
问题是当用户没有在表单中上传图片时,验证会因“您没有选择要上传的文件”而中断。并且 set_radio 不再起作用。如果用户上传图片,set_radio 会在另一个字段破坏验证时起作用。以上是关于php codeigniter - 表单助手 - 如何在无线电输入上实现 set_value的主要内容,如果未能解决你的问题,请参考以下文章
codeigniter 覆盖表单助手中的 set_value 函数,使用 MY_helper 在获取时重新填充字段,同时发布