julia 发表于 2011-1-6 06:06:43

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

本帖最后由 julia 于 2011-1-8 05:21 编辑

———- controllers
if ($this->input->post(‘submit’)==‘change’ or $this->input->post(‘submit’)==‘change2’) {
      echo ‘submit ‘.$this->input->post(‘submit’);
...

}

———- views

function submit2()
{
var s=document.getElementById("ops");
alert(s.value); //显示正确

document.form.submit('change2'); //没有执行通常的 submit 返回 controllers
}


<?php echo form_open_multipart(site_url($this->uri->uri_string()),array(‘name’ => ‘form’, ‘id’ => ‘form’)); ?>

type <?php echo form_dropdown(‘type_id’, $type, $this->session->userdata(‘type_id’), ‘id=“ops” onChange=“submit2()”’) ?> //这里没有回到controllers
<input type="submit" name="submit" value="change" > //这里回到controllers
...
</form>

Hex 发表于 2011-1-6 13:29:40

什么叫做返回控制器?
感觉你这个逻辑有问题。

julia 发表于 2011-1-8 05:18:22

当view页面执行submit后去哪里?
是不是 controllers

Hex 发表于 2011-1-8 09:09:29

执行 submit 后肯定是去控制器,并且是你指定的控制器。

看一下你的 JS 是不是写的有问题。
这个和 PHP 关系不大,只要发请求了,服务器肯定会收到。

julia 发表于 2011-1-8 11:39:50

本帖最后由 julia 于 2011-1-8 11:41 编辑

———- controllers
if ($this->input->post(‘submit’)==‘change’ or $this->input->post(‘submit’)==‘change2’) {
      echo ‘submit ‘.$this->input->post(‘submit’);//==‘change’执行正常,==‘change2’没有执行这里?
...

}

Hex 发表于 2011-1-8 12:24:45

你用 print_r($_POST); 一看就知道浏览器到底给没给你发送 change2
如果浏览器都没发送,那 PHP 再有本事也得不到呀,呵呵

julia 发表于 2011-1-8 14:51:52

你用一看就知道浏览器到底给没给你发送 change2
如果浏览器都没发送,那 PHP 再有本事也得不到呀,呵呵 ...
Hex 发表于 2011-1-8 12:24 http://codeigniter.org.cn/forums/images/common/back.gif

没有发送,所以才有了如标题提问
form_dropdown 中 JS submit() 没有返回执行 controllers?

语法没有查出问题
document.form.submit('change2'); //没有执行通常的 submit 返回 controllers

Hex 发表于 2011-1-8 18:56:10

那你这个是 JS 问题。。。。
和 CI 无关。。。
如果是 JS 问题,那请提供完整源码,我可以帮你分析下。

julia 发表于 2011-1-9 14:34:19

本帖最后由 julia 于 2011-1-9 14:35 编辑

那你这个是 JS 问题。。。。
和 CI 无关。。。
如果是 JS 问题,那请提供完整源码,我可以帮你分析下。 ...
Hex 发表于 2011-1-8 18:56 http://codeigniter.org.cn/forums/images/common/back.gif

多谢关注,js源码
function submit2()
{
var s=document.getElementById("ops");
alert(s.value); //显示正确

document.form.submit('change2'); //没有执行通常的 submit 返回 controllers
}
完整源码见第一贴提问

Hex 发表于 2011-1-10 00:52:11

貌似没有
document.form.submit('change2');
这种语法吧,submit 方法没有任何参数,至少 w3c 没这个标准。。。
你想提交什么表单,建议直接使用 document.getElementById('xxx').submit() 的国际标准方法。

详细标准和语法可以参考:http://www.w3school.com.cn
页: [1] 2
查看完整版本: form_dropdown 中 JS submit() 没有返回执行 controllers?