知道这个建议是开放的

时间:2012-03-30 06:25:37

标签: javascript jquery forms input

我有一个没有提交按钮的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
        }

    }
});

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

  • 用户无法弄清楚如何提交表单

  • 相同的操作(按键输入)可能会导致两种不同的操作,从而破坏用户界面的一致性

恕我直言,你一定要放一个提交按钮。