【发布时间】:2012-03-30 06:25:37
【问题描述】:
我有一个没有提交按钮的 html 表单。我想在点击 ENTER 按钮时提交该表单。我使用一个简单的 jquery 代码在按 ENTER 后提交表单。
$("form :input").keypress(function(e)
{
if(e.keyCode == 13)
{
$(this).parents('form').submit();
}
});
但是这段代码有问题。当我在文本字段中输入并希望使用“ENTER”键为该字段选择一个建议(这些是浏览器根据该字段的历史建议的建议)时,它会触发当前表单的提交。我也想跳过这个。
在 jquery 或 javascript 中有类似的东西
$("form :input").keypress(function(e)
{
if(e.keyCode == 13)
{
if(! $(this).is('suggestOpened')) // i want something like this
{
// submit the form
}
}
});
提前致谢。
【问题讨论】:
-
您可以阻止事件的“默认行为”(在您的情况下提交表单):api.jquery.com/event.preventDefault
-
你可以在jsfiddle上添加你的代码
标签: javascript jquery forms input