Поля ввода получают локальные значения даже после очистки - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть несколько полей ввода в форме, которые отправляются с помощью кнопки Сохранить, и есть кнопка Очистить, чтобы очистить поля ввода с помощью метода очистки, который очищает значения с помощью setSubmittedValue ("");

В верхней части есть selectonemenu со значением valueChangeListener, которое вызывает метод в компоненте поддержки для добавления набора дополнительных полей ввода для определенного значения selectonemenu. (Это поле имеет ajax)

Сначала я ввожу некоторые значения (недействительные) в поля ввода и нажимаю кнопку Сохранить, чтобы проверка завершилась неудачно и отобразились сообщения об ошибках. Затем я нажимаю Очистить, чтобы очистить поля ввода, и они очищаются.

Теперь, если я нажму на selectonemenu, чтобы изменить его значение, в полях ввода отобразятся недопустимые значения, которые я ввел.

Есть ли способ обойти эту проблему?

1 Ответ

1 голос
/ 24 февраля 2012

Вы указали отправленное значение с пустой строкой вместо null. Таким образом, он будет отображаться во время рендера вместо локального значения. Однако при последующем запросе он снова становится null и вместо него будет отображаться локальное значение.

Кнопка очистки должна была вызывать EditableValueHolder#resetValue() вместо EditableValueHolder#setSubmittedValue().

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