Как динамически добавлять входные строки в JSF h: dataTable и сохранять фокус там, где он был - PullRequest
2 голосов
/ 10 января 2011

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

В настоящее время я могу добавлять строки с помощью ajax, но фокус теряется.Бин отслеживает общее количество строк, и если текущая фокусированная строка является последней, то новый элемент добавляется в список и перерисовывается.Как сохранить фокус в поле ввода текста там, где он был до рендеринга.Я также могу использовать функции openfaces.

    <h:form id="myform">
        <h:dataTable id="table" value="#{ajaxTestBean.rows}" var="rows">
            <h:column>
                <h:inputHidden id="inputtext" binding="#{ajaxTestBean.input}" value ="#{rows.rownum}"></h:inputHidden>
                <h:inputText value="#{rows.text}">
                    <f:ajax event="focus" listener="#{ajaxTestBean.action}" render=":myform"></f:ajax>
                </h:inputText>
            </h:column>
        </h:dataTable>
    </h:form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...