【问题标题】:trouble keeping radio button set麻烦保持单选按钮设置
【发布时间】: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();

       }
      ?>

【问题讨论】:

  • 快速说明 - 只要您有像 onclickonchange 这样的内联事件处理程序属性,您就不需要提供前缀 javascript:,因为它需要脚本内容。 onclick="doFoo();" 可以正常工作。
  • 旁注:session_start(); 加载了吗?
  • 是 session_start 已加载

标签: javascript php codeigniter codeigniter-2


【解决方案1】:

试试这个,您可能需要像这样更改控制器或模型中的会话值:

if($this->input->post("type") && $this->input->post("type")==2){
 $this->session->set_userdata('type', 2);
}
else{
 $this->session->set_userdata('type', 1);
}

内部视图:

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

       }
      ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 2017-01-30
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    相关资源
    最近更新 更多