Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选按钮组故障_Javascript_Php_Codeigniter_Codeigniter 2 - Fatal编程技术网

Javascript 单选按钮组故障

Javascript 单选按钮组故障,javascript,php,codeigniter,codeigniter-2,Javascript,Php,Codeigniter,Codeigniter 2,我在设置单选按钮时遇到一些问题 通常在没有CI的情况下,我会: <input name="type" value="1" checked="checked" type="radio" onChange="this.form.submit();"/> Offer <?php if( !empty($_SESSION['type']) && $_SESSION['type'] == 2 ) {

我在设置单选按钮时遇到一些问题

通常在没有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
我试了一下,发现了两个问题

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

       }
      ?>

尝试此操作,您可能需要更改控制器或模型中的会话值,如下所示:

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

       }
      ?>

Quick note-每当您有一个内联事件处理程序属性,如
onclick
onchange
时,您不需要提供前缀
javascript:
,因为它需要脚本内容
onclick=“doFoo();”
可以正常工作。旁注:Is
session_start()已加载?是会话\已加载启动
<?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();

       }
      ?>