Frage

Hinweise zur Umwelt. JSF 1.1 Infragistics Komponentenbibliothek mit

Ich bin mit dem folgende JavaScript Versuch zu verhindern, ein 'Enter' keypress von einem Formular abgeschickt werden.

function disableEnterKey(e){     
     var key;      
     if(window.event)
          key = window.event.keyCode;
     else
          key = e.which;
     return (key != 13);
}

Dann in der JSP, ich habe:

<h:inputText id="an_id" value="#{bean.value}" 
             onkeypress="return disableEnterKey(event);" />

Dies scheint in Firefox und Google Chrome einwandfrei zu arbeiten. Ich verstehe nicht, warum es nicht mit IE8 funktioniert. Ich bin ratlos.

Ich habe versucht, einen Tomahawk <t:inputText/> verwenden, aber das macht keinen Unterschied machen.

Ich habe etwas in dem onkeypress Handler für die Eltern <h:form> und / oder das <body> Element versucht setzen, aber das scheint nicht zu helfen, entweder. Und ich habe versucht, die onkeydown verwenden, haben aber keinen Unterschied gesehen, auch nicht.

Die Differentialdiagnose, dass ich glaube, ich habe kommen mit ist, dass es können etwas mit der Infragistics Bibliothek zu tun haben. IG hat auf Seiten ziemlich viel Scripting hinzufügen, aber ich bin nicht fest, wie Javascript mit IE8 effektiv zu debuggen. Dies wäre kein Problem mit Firebug auf FF zu durchstechen, aber ich bin ein wenig ratlos.

Wer eine ähnliche Erfahrung hat? Kennen Sie ein Update?

War es hilfreich?

Lösung

Ich weiß, dass es etwas zu spät ist, aber das ist für andere, die versuchen, diese Sache zu tun. Dieses Problem tritt auf, wenn die Seite nur eine h:inputText enthält. In anderen wie verborgener Text dieses Entschlüssen Problem.

Example
<h:panelGroup>
    <h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
</h:panelGroup>

Andere Tipps

seltsame Sache, weil es auf diese Weise nur für mich in IE8 und in FF funktioniert:

var key;
if(window.event)
{
    //IE
    key = window.event.keyCode;
}
else
{
    //FF
    key = e.keyCode;
}

Dies war der einzige Weg, um diese zu lösen!

<h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top