Предотвращение ввода ключа Javascript не работает для JSF 1.1 в IE - PullRequest
0 голосов
/ 21 октября 2010

Замечания по среде: 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 добавляет на страницы довольно много сценариев, но я не совсем уверен, как эффективно отлаживать Javascript в IE8.Это не было бы проблемой, чтобы пробиться через Firebug на FF, но я немного озадачен.

У кого-нибудь есть подобный опыт?Знаете ли вы исправить?

Ответы [ 3 ]

0 голосов
/ 11 января 2013

Я знаю, что немного поздно, но это для других, кто пытается сделать это. Эта проблема возникает, если ваша страница содержит только один h:inputText. Добавьте еще один скрытый текст, чтобы решить эту проблему.

Example
<h:panelGroup>
    <h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
</h:panelGroup>
0 голосов
/ 20 июня 2014

Это был единственный способ решить эту проблему!

<h:inputText id="test1" style="display: none;" styleClass="alignleft" value="" />
0 голосов
/ 22 октября 2010

странная вещь, потому что она работает для меня в IE8 и в FF только так:

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