Javascript 知道这个建议是开放的

Javascript 知道这个建议是开放的,javascript,jquery,forms,input,Javascript,Jquery,Forms,Input,我有一个没有提交按钮的html表单。我想在按下回车键后提交表格。我使用了一个简单的jquery代码在点击ENTER键时提交表单 $("form :input").keypress(function(e) { if(e.keyCode == 13) { $(this).parents('form').submit(); } }); 但是这个代码有一个问题。当我在文本字段中键入并希望使用“回车”键为该字段选择建议(这些是建议,由浏览器根据该字段的历史记录建议

我有一个没有提交按钮的html表单。我想在按下回车键后提交表格。我使用了一个简单的jquery代码在点击ENTER键时提交表单

$("form :input").keypress(function(e)
{
    if(e.keyCode == 13)
    {
        $(this).parents('form').submit();
    }
});
但是这个代码有一个问题。当我在文本字段中键入并希望使用“回车”键为该字段选择建议(这些是建议,由浏览器根据该字段的历史记录建议)时,将触发提交当前表单。我也想跳过这个

jquery或javascript中是否有类似的内容

$("form :input").keypress(function(e)
{
    if(e.keyCode == 13)
    {
        if(! $(this).is('suggestOpened'))    // i want something like this
        {
             // submit the form
        }

    }
});

提前谢谢。

不,没有这样的活动。您可以使用
onchange
onblur
事件来拦截用户是否正在填写特定字段,但无论如何都不需要提交按钮:

  • 用户无法确定如何提交表单

  • 同一个操作(按enter键)可能导致两个不同的操作,这会破坏UI的一致性


我想您应该明确地放置一个提交按钮。

您可以防止事件的“默认行为”(在您的案例中提交表单):您可以在JSFIDLE上添加代码吗