Как я могу применить изменения, внесенные в компонент JSF из JavaScript? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть два jsf inputText, класс которых я динамически меняю из javascript. Класс этих inputText начинает быть числовым и после некоторых условий меняется на буквенно-цифровой.

<h:form id="mainForm">
<h:inputText id="otraIdUno"
   ...
   class="form-control soloNumeros" maxlength="15"
   ...>
</h:inputText>

Из chrome, если я проверяю элемент, я вижу изменения в классе, но ничего не происходит в самом inputText, я имею в виду, что я могу просто набирать цифры, а не буквы.

<h:inputText id="otraIdUno"
   ...
   class="form-control alfanumerico" maxlength="15"
   ...>
</h:inputText>

Из JavaScript я устанавливаю класс inputText следующим образом:

$("#mainForm\\:otraIdUno").addClass("alfanumerico");

Мой друг сказал мне попробовать обновить элемент с помощью этой инструкции, но он не сработал.

$("#mainForm\\:otraIdUno").load(location.href + " #mainForm\\:otraIdUno");

Я также попытался установить событие снова после добавления класса:

$(".soloNumeros").keypress(onlyNumbers);
$(".alfanumerico").keypress(alphaNumeric);

Я не буду помещать сюда onlyNumbers и буквенно-цифровой код, поскольку они являются обычными функциями и уже работают с другими элементами.

Кстати, если я устанавливаю класс перед запуском кода в любом из этих inputText, он работает отлично. Это не работает, только когда я установил его динамически.

Я хочу, чтобы эти inputText в некоторых случаях были числовыми, а в других - буквенно-цифровыми, но они всегда числовые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...