2015-06-09 1 views
0

Когда я нажимаю клавишу ввода на поле p:inputText, тогда автоматически запускается p:commandButton. Это не то поведение, которое я хочу.Как отключить событие keyCode по умолчанию в Primefaces?

Как отключить автоматическое инициирование?

+0

Какое поведение вы ожидаете? – Zim

+0

Я использовал 3 три на своей странице, когда я нажимаю клавишу ввода на своем втором , тогда вызов должен быть вызван. Это необходимо. –

+0

Но, моя проблема в том, когда я ввел ключ 1-го числа , затем автоматически вызывается для сохранения. –

ответ

0

Вы можете отключить эту функцию, вернув false в атрибуте onkeypress на h:form.

<h:form onkeypress="if (event.keyCode == 13) return false;"> 

13 является ключевым кодом, соответствующим «Enter»

Однако этот фрагмент может нарушить ваш textarea (вы хотите, чтобы пользователи могли попасть Enter, чтобы получить новую линию), так что я бы улучшить над фрагментом и определить пользовательскую функцию JS.

.xhtml

<h:form onkeypress="return doNotSubmitFormOnEnterPress(event)"> 

.js

function doNotSubmitFormOnEnterPress(event) { 

    if (event.keyCode === 13 && !$(event.target).is('textarea')) { 
     return false; 
    } 

    return true; 
} 
Смежные вопросы