blo*_*p3r 5 java forms jsf internet-explorer jsf-2
我有2个<h:form>元素彼此跟随(不是一个在另一个内),例如:
<h:form id="innerHeaderForm1">
<h:inputText value="#{searchBar.eventname}" />
<h:commandButton action="#{searchBar.search1}" value="click1"/>
</h:form>
<h:form id="innerHeaderForm2">
<h:inputText id="last" value="#{searchBar.personname}"/>
<h:commandButton action="#{searchBar.search2}" value="click2"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
这很好用.我遇到的问题是在IE 8中(我假设其他旧版本)在第一种形式时,我点击了我的键盘上的"输入"键,表单未提交.页面重新加载,但甚至没有调用#{searchBar.search1}.
所有这些奇怪的是,这在第二种形式中工作正常.我没有收到错误消息,也没有从浏览器获得任何反馈.
在我的支持bean中,我有类似的东西:
public String search1() {
System.out.println("submitting form1");
return "success";
}
public String search2() {
System.out.println("submitting form2");
return "success";
}
Run Code Online (Sandbox Code Playgroud)
当使用点击"回车"键时,我甚至没有进入支持bean.
但是:当我"点击"提交按钮(用鼠标)时,一切正常.
任何有关这方面的见解将不胜感激!
对于只有一个<input type="text">字段的表单,这是一个MSIE特定的异常.唯一的解决方法是添加另一个<input type="text">被CSS隐藏的字段display: none;.
<h:form id="innerHeaderForm1">
<h:inputText value="#{searchBar.eventname}" />
<h:inputText style="display: none;" />
<h:commandButton action="#{searchBar.search1}" value="click1"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
此问题与JSF无关.
| 归档时间: |
|
| 查看次数: |
3048 次 |
| 最近记录: |