2010-07-28 72 views
2

我有一个带有输入元素但没有提交按钮的表单。我使用jQuery附加一个onsubmit处理:jQuery提交单处理表单的输入字段不会在IE上触发

$('#tickerbox-form').submit(function (ev) { 
    alert('submit'); // I have other code that actually does something... 
    return false; 
}); 

我想,当按钮被按下的输入字段中输入(匿名函数)处理程序被调用。这适用于Safari,但不适用于IE。我究竟做错了什么?

btw:IE确实对Enter进行操作,并在表单的指定“action”参数的URL上调用POST请求。

回答

2

更改您的代码捕获输入键代替:

$('#tickerbox-form').keypress(function(e){ 
    if (e.which==13){ 
    $(this).submit(); 
    } 
}); 
2

看起来像IE不会在默认情况下提交输入表单。阅读here

+0

优秀的信息 - 这对我解释这个问题,我可以设计一个解决方案 - Thx! – Zhami 2010-07-28 02:51:30

0

在IE浏览器,如果你在你的情况下,只有tickerbox形式有一个单一的输入字段即它只会工作

即使在jQuery命令的定义说明了这一点。

“根据不同的浏览器,输入 键可能只会导致表单提交 如果表单只能有一个文本 场,或者只有当一个提交 按钮存在。接口应 不依赖对于 此键的特定行为,除非问题被 强制遵守按下Enter键的按键事件 。

你的目的,如果你有更多的领域使用的东西,诸如添加属性ontextchange或类似:在所提供的链接

$('#tickerbox-form').keydown(function (ev) { 
    alert('submit'); // Check here if enter is pressed 
    return false; 
});