输入按键的行为类似于JSF中的提交

如何使Enter Key Press的行为类似于JSF中的Submit。 它适用于InputBoxes; 但不是inputSecret框

我以前没见过这个问题。 这种行为特定于浏览器的可能性很小。 尝试在不同类型的浏览器中排除其中一个(IE6 / 7/8,FF,Safari,Chrome等)。 这是由一个(差)Javascript键事件监听器错误地抑制输入键(例如检查输入字符的JS密码validation器)引起的。

如果仍然徒劳,只需将以下onkeypress添加到h:form

  

但是你需要考虑textareas。 如果你有它们,那么你需要复制所有onkeypress事件而不是h:inputXXX元素你自己h:inputXXX textareas。

如果你想按ENTER键而不是以任何forms提交,我们要做的是在af:form标签中添加defaultcommand属性,并将提交按钮的id作为值。 此示例代码段是

        

我通过放置一个额外的inputBox并使用javascript隐藏它来使其工作。 如果您有任何其他建议,请告诉我。感谢baluC指出我正确的方向Jerry

用jsf测试2.放:

  

在你的forms

根据ComputerPilot的回答,我发现它是IE中的错误,如果只有一个输入元素,则不会使父表单提交。 为了解决这个问题,我添加了一个带属性style="display:none"输入框,它工作正常。

有一个旧的规格,这个突然出现在我的脑海中。 如果您的表单只包含一个输入字段,则在某些版本的Internet Explorer中,在enter -key上提交的行为不起作用。 最简单的解决方法是确保您有多个输入字段。

这个问题的其他原因包括……

  • 没有提交类型的输入
  • 输入类型为submit,但在页面上不可见(隐藏或定位在页面外)

此行为非常特定于此浏览器。

MS Bug报告在这里: connect.microsoft.com:提交未提交表单提交的按钮值