我有一个带有输入元素但没有提交按钮的表单。我使用jQuery附加一个onsubmit处理程序:
$('#tickerbox-form').submit(function (ev) {
alert('submit'); // I have other code that actually does something...
return false;
});
我希望在输入字段中按下Enter按钮时调用(匿名函数)处理程序。这适用于Safari,但不适用于IE。我做错了什么?
btw:IE确实对Enter执行操作,并在URL上为表单的指定“action”参数调用POST请求。
答案 0 :(得分:2)
看起来IE默认情况下不会在输入时提交表单。阅读here:
答案 1 :(得分:2)
更改代码以捕获 Enter 键:
$('#tickerbox-form').keypress(function(e){
if (e.which==13){
$(this).submit();
}
});
答案 2 :(得分:0)
在IE上,它只有在您有一个输入字段时才有效,即在您的情况下只有 tickerbox-form
即使jquery上的命令定义也说明了这一点。
“根据浏览器的不同,输入 密钥只能导致表单提交 如果表单只有一个文本 字段,或仅在提交时 按钮存在。界面应该 不依赖于特定的行为 这个密钥除非问题是强制的 观察按键事件 按下Enter键。“
为了您的目的,如果您有更多字段,请使用添加属性 ontextchange 等内容:
$('#tickerbox-form').keydown(function (ev) {
alert('submit'); // Check here if enter is pressed
return false;
});