необходимо задать максимальную длину в 100 символов, в двух строчках по 50 используя inputTextarea

213
25 октября 2017, 04:35

необходимо задать максимальную длину в 100 символов, в двух строчках по 50 используя inputTextarea. Получается сейчас оно печатает сколько угодно строчек, но по 50 символов. А нужно чтобы в конце второй строчки, то есть после сотого символа ввод ставал невозможным. Помогите пожалуйста.

<td>
    <h:inputTextarea style="height: 40px;resize: none" cols="50" rows="2" 
        value="#{component.entity.textRu}" id="textRu"
        title="#{cardOrderPurposesMsg.text_ru}" required="true"
        requiredMessage="#{commonMsg.empty_field_error}"/>
     <h:message for="textRu" styleClass="error"/>
</td>
Answer 1
  1. Использовать стандартный h:inputTextarea совместно с валидатором. У пользователя будет возможность ввести более 100 символов, но при попытке подтверждения ввода в h:message будет выведено сообщение об ошибке.
  2. Использовать JavaScript. У пользователя не будет возможности ввести более 100 символов, но при попытке ввода лишнего символа он будет появляться и тут же удаляться.
  3. Использовать inputTextarea фреймворка Primefaces. Нет возможности ввести лишний символ, нет появления и исчезания вводимых символов.

Ниже пример кода, демонстрирующий все 3 варианта:

<html xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:p="http://primefaces.org/ui">
<f:view>
<h:head/>
<h:body>
     <h:form>
        <h:inputTextarea style="height: 40px;resize: none" cols="50" rows="2"
                         value="#{bean.someString}" id="textRu"
                         required="true">
            <f:validateLength maximum="100"/>
        </h:inputTextarea>
        <h:message for="textRu" styleClass="error"/><br/>
        <h:inputTextarea style="height: 40px;resize: none" cols="50" rows="2"
                         value="#{bean.someString}" id="textRuJavascript"
                         onkeydown="limit(this, 100);" onkeyup="limit(this, 100);"
                         required="true"/><br/>
        <script type="application/javascript">
            function limit(element, max_chars) {
                if (element.value.length > max_chars) {
                    element.value = element.value.substr(0, max_chars);
                }
            }
        </script>
        <p:inputTextarea style="height: 40px;resize: none" cols="50" rows="2"
                         value="#{bean.someString}"
                         required="true" maxlength="100"/><br/>
        <h:commandButton value="OK"/>
    </h:form>
</h:body>

READ ALSO
пульверизатор(распылитель) карандаша

пульверизатор(распылитель) карандаша

Нужно в paint добавить инструмент распылитель вот код карандаша как его переделать под распылитель помогите

265
Visual Composer (WordPress)

Visual Composer (WordPress)

Здравствуйте! На работе повесили задачку (немного не по моему профилю) связанную с Visual ComposerТочнее, мне скинули html файл с индексной страницей...

260
Не работает поиск по id в querySelector [требует правки]

Не работает поиск по id в querySelector [требует правки]

С классами и самими объектами html всё норм, а по id не хочет, или там не решётка?

263
Wysibb более одного элемента на странице

Wysibb более одного элемента на странице

Когда более одного редактора на странице, при выходе из окна (те

263