输入键预防JavaScript在IE中不适用于JSF 1.1
-
10-10-2019 - |
题
关于环境的注释:JSF 1.1使用Infragistics组件库。
我正在使用以下JavaScript到 试图 为了防止“输入”按键提交表格。
function disableEnterKey(e){
var key;
if(window.event)
key = window.event.keyCode;
else
key = e.which;
return (key != 13);
}
然后在JSP中,我有:
<h:inputText id="an_id" value="#{bean.value}"
onkeypress="return disableEnterKey(event);" />
这似乎在Firefox和Google Chrome中完美无缺。我不明白为什么它不适用于IE8。我很难过。
我尝试使用战斧 <t:inputText/>
, ,但这没有什么区别。
我尝试在 onkeypress
父母的处理程序 <h:form>
和/或 <body>
元素,但这似乎也无济于事。而且,我尝试使用 onkeydown
, ,但也没有看到这一点。
我认为我想出的鉴别诊断是 可能 与Infragistics库有关。 IG确实在页面上添加了很多脚本,但是我在如何使用IE8有效调试JavaScript方面并不扎实。在FF上使用Firebug戳戳,这是没有问题的,但是我有点困难。
有人有类似的经历吗?知道修复吗?
解决方案
我知道这很晚,但这是针对其他尝试做这件事的人。如果您的页面仅包含一个,则会发生此问题 h:inputText
。添加另一个类似隐藏文本的解决问题。
Example
<h:panelGroup>
<h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
</h:panelGroup>
其他提示
怪异的事情,因为它在IE8中对我有用,仅在FF中使用这种方式:
var key;
if(window.event)
{
//IE
key = window.event.keyCode;
}
else
{
//FF
key = e.keyCode;
}
这是解决这个问题的唯一方法!
<h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
不隶属于 StackOverflow