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> 什么叫做返回控制器?
感觉你这个逻辑有问题。 当view页面执行submit后去哪里?
是不是 controllers 执行 submit 后肯定是去控制器,并且是你指定的控制器。
看一下你的 JS 是不是写的有问题。
这个和 PHP 关系不大,只要发请求了,服务器肯定会收到。 本帖最后由 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’没有执行这里?
...
} 你用 print_r($_POST); 一看就知道浏览器到底给没给你发送 change2
如果浏览器都没发送,那 PHP 再有本事也得不到呀,呵呵 你用一看就知道浏览器到底给没给你发送 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 那你这个是 JS 问题。。。。
和 CI 无关。。。
如果是 JS 问题,那请提供完整源码,我可以帮你分析下。 本帖最后由 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
}
完整源码见第一贴提问 貌似没有
document.form.submit('change2');
这种语法吧,submit 方法没有任何参数,至少 w3c 没这个标准。。。
你想提交什么表单,建议直接使用 document.getElementById('xxx').submit() 的国际标准方法。
详细标准和语法可以参考:http://www.w3school.com.cn
页:
[1]
2