【发布时间】:2014-03-13 00:51:01
【问题描述】:
我在设置保持选中 RADIO BUTTON 时遇到了一些问题。
通常没有 CI 我是这样做的:
<input name="type" value="1" checked="checked" type="radio" onChange="this.form.submit();"/>
Offer
<?php
if( !empty($_SESSION['type']) && $_SESSION['type'] == 2 )
{
echo "<input type=\"radio\" name=\"type\" value=\"2\"
checked = \"checked\" onChange=\"this.form.submit();\" />";
}else{
echo "<input type=\"radio\" name=\"type\" value=\"2\"
onChange\"this.form.submit();\"
/>";
}
?>
Search
然后我使用一个条件:
if(!empty($_SESSION['type']) && $_SESSION['type'] == 1)
{
dosomthing()
}
我试了一下,遇到了两个问题。
1- 我正在使用 Onchange 方法刷新页面,但它实际上是在发送表单。 (这在我不使用 CI 时没有发生)
2- 当我选择搜索电台时,它不会停留在那里,而是返回到第一个电台。
这就是我所做的。
<?php echo form_radio('type', '1', TRUE, 'onChange="this.form.submit();"'); ?>
Offer
<?php
if( $this->session->userdata('type') && $this->session->userdata('type') == 2 )
{
echo form_radio('type', '2', TRUE, 'onChange="this.form.submit();"');
}else{
echo form_radio('type', '2', FALSE, 'onChange="this.form.submit();"');
}
?>
Search
<?php
if(($this->session->userdata('type')) && $this->session->userdata('type') == 1)
{
dosomething();
}
?>
【问题讨论】:
-
快速说明 - 只要您有像
onclick或onchange这样的内联事件处理程序属性,您就不需要提供前缀javascript:,因为它需要脚本内容。onclick="doFoo();"可以正常工作。 -
旁注:
session_start();加载了吗? -
是 session_start 已加载
标签: javascript php codeigniter codeigniter-2