gpt4 book ai didi

java - 命令按钮不在 "enter"上提交,仅在 IE < 9 中按下

转载 作者:搜寻专家 更新时间:2023-10-31 19:48:41 32 4
gpt4 key购买 nike

我有 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>

这很好用。我遇到的问题是,在 IE 8(我假设其他旧版本)中,当我在第一个表单中按下键盘上的“enter”键时,表单没有提交。页面重新加载,但甚至没有调用 #{searchBar.search1} .

奇怪的是,这在第二种形式下工作得很好。我没有收到错误消息,也没有从浏览器收到任何反馈。

在我的支持 bean 中,我有这样的东西:

public String search1() {
System.out.println("submitting form1");
return "success";
}

public String search2() {
System.out.println("submitting form2");
return "success";
}

当使用点击“回车”键时,我什至没有进入支持 bean。

但是:当我(用鼠标)“点击”提交按钮时,一切正常。

任何对此的见解将不胜感激!

最佳答案

对于只有一个 <input type="text"> 的表单,这是 MSIE 特有的异常 field 。唯一的解决方法是添加另一个 <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>

此问题与 JSF 无关。

关于java - 命令按钮不在 "enter"上提交,仅在 IE < 9 中按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235488/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com