全部源码就是第一贴,没有涉及数据库和models
仅仅测试controllers中接受js发送的submit
你可以直接复制controllers 和view源码套用在任何已有文件中测试 你应该改成:
document.getElementById("form").submit();
因为你的是 <form id="form"></form>
你这些东西和 PHP 一点关系也没有。。。
纯 JS 问题。
你可以用 firebug 仔细调试下。 仍然没有回到controller?
其实我是将以前通过的文件转换到CI 才遇到此问题的? 这个建议你用 firebug 调试下,这个东西 PHP 都控制不了,CI 更控制不了了。
你的是 js 没有执行,而不是 PHP 没执行。 本帖最后由 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>
页:
1
[2]