用户
 找回密码
 入住 CI 中国社区
搜索
12
返回列表 发新帖
楼主: julia
收起左侧

form_dropdown 中 JS submit() 没有返回执行 controllers?

[复制链接]
 楼主| 发表于 2011-1-10 12:07:20 | 显示全部楼层
document.getElementById("ops").submit();//仍然没有执行submit()
发表于 2011-1-10 12:13:25 | 显示全部楼层
那这个就奇怪了,你可以把你的项目打包发上来,我帮你测试下,你贴的代码看不出问题来。
 楼主| 发表于 2011-1-10 16:49:17 | 显示全部楼层
本帖最后由 julia 于 2011-1-10 17:34 编辑

全部源码就是第一贴,没有涉及数据库和models
仅仅测试controllers中接受js发送的submit

你可以直接复制controllers 和view源码套用在任何已有文件中测试
发表于 2011-1-11 01:04:08 | 显示全部楼层
你应该改成:
JS复制代码
document.getElementById("form").submit();
复制代码

因为你的是
HTML复制代码
<form id="form"></form>
复制代码

你这些东西和 PHP 一点关系也没有。。。
纯 JS 问题。
你可以用 firebug 仔细调试下。
 楼主| 发表于 2011-1-12 07:43:54 | 显示全部楼层
仍然没有回到controller?
其实我是将以前通过的文件转换到CI 才遇到此问题的?
发表于 2011-1-12 14:00:11 | 显示全部楼层
这个建议你用 firebug 调试下,这个东西 PHP 都控制不了,CI 更控制不了了。
你的是 js 没有执行,而不是 PHP 没执行。
 楼主| 发表于 2011-1-17 10:34:24 | 显示全部楼层
本帖最后由 julia 于 2011-1-17 10:35 编辑

用 firebug 调试没有任何错误
测试源码
--------Controller - test.php
class Test extends Controller
{
    function __construct()
    {
        parent::Controller();
    }
    function index()
    {
        if ($this->input->post('submit')) echo 'submited id='.$this->input->post('cat_id');
        $$data['category'] = array(
                   'type'     => 1,
                   'category' => 2,
                   'region'   => 3                                  
                );
      $this->load->view('test', $data);  
    }
}
--------views - test.php
<script language="JavaScript">
function submit2()
{
  var s=document.getElementById("ops");
alert(s.value); //显示正确
  document.form.submit(); //没有按常规的submit()返回Controller

}
</script>
<?php echo form_open(site_url($this->uri->uri_string()),array('name' => 'form', 'id' => 'form')); ?>
<?php echo form_dropdown('cat_id', $category, set_value('cat_id',$value['category']),'id="ops" onChange="submit2()"'); ?>
<input type="submit" name="submit" value="change">
</form>

本版积分规则