关于环境的注释: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="" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top