Текстовое поле JSF onchange отправить вкладку - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть несколько текстовых полей, каждое из которых имеет onChange = "submit ();"для того, чтобы сохранить данные немедленно.У меня проблема в том, что переход к следующему полю не будет работать, потому что он будет отправлен, а затем потеряет фокус на поле из-за представления страницы.Кроме того, если пользователь щелкнет по следующему текстовому полю, которое он хочет отредактировать, оно потеряет фокус, и ему придется щелкнуть его во второй раз из-за представления страницы.Можно ли как-то это исправить, чтобы после отправки страницы она установила фокус на предполагаемое текстовое поле?

Фон:

У меня есть динамическая таблица, которая заполняется через эти несколько полей,Пользователь выберет значение из выпадающего списка и затем нажмет кнопку «Создать», после чего появятся все поля, соответствующие выбранному значению.Я решил сделать так, чтобы каждое текстовое поле отправляло onChange вместо кнопки отправки, чтобы уменьшить беспорядок на странице из-за сложности всех входных данных.К тому же, кажется круче, что таблица и все остальное обновляется автоматически.

Спасибо.

1 Ответ

2 голосов
/ 28 декабря 2010

Проблема, с которой я столкнулся, заключается в том, что переход к следующему полю не будет работать, поскольку он будет отправлен, а затем потеряет фокус на поле из-за отправки страницы.

Да, каждый раз, когда вы запускаете событие onchange, ваша форма отправляется, и когда жизненный цикл JSF заканчивается, ваша страница снова отображается, и вы теряете фокус.

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

Пример:

<h:inputText id="input" value="#{mybean.input}" >
    <a4j:support 
        event="onchange"
        ajaxSingle="true"
        action="#{mybean.doSomething()}" 
        reRender="myTable" />
</h:inputText>
...