我有一个带有inputText和commandButton的简单表单。
<h:form>
<h:inputText id="xyz" value="#{viewImpl.field}" onfocus="clearText(this)" onblur="setDefaultText(this)" />
<h:commandButton action="#{viewImpl.method}"/>
</h:form>
如果我按下commandButton,表单会正确提交。 但是如果我按Enter键,仍然在inputText-Field页面重新加载,但是没有调用该方法(服务器处于调试模式,激活断点)。
重要提示:这只发生在IE 8中。它在Firefox中运行得非常好。 关于如何解决这个问题的任何线索?
非常感谢!
答案 0 :(得分:5)
这是IE中单字段表单的已知问题。按回车键不会触发表单的第一个下一个按钮,因此其名称=值对不会出现在请求参数映射中,因此JSF无法识别按钮以排队操作事件。 / p>
解决此问题的方法之一是在同一表单中添加第二个但不可见的输入字段。
<input type="text" name="dummy" style="display: none;" />
这将导致IE发送第一个下一个按钮的名称=值对。