У меня есть калитка с флажком и текстовым полем. Мне нужно скрыть и показать textarea при изменении значения флажка.Apache Wicket: textarea потеряет содержимое после скрыть/показать
Это моя реализация:
private class EditCommentForm extends Form {
private TextArea applyToAllArea;
private boolean addToAll;
// some code here
public EditCommentForm(String id) {
super(id);
applyToAllArea = new TextArea<>("applyToAllArea", Model.of(""));
applyToAllArea.setVisible(addToAll);
applyToAllArea.setOutputMarkupId(true);
applyToAllArea.setOutputMarkupPlaceholderTag(true);
add(applyToAllArea);
CheckBox addToAllCheckbox = new AjaxCheckBox("addToAll", new PropertyModel<>(this, "addToAll")) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
applyToAllArea.setVisible(addToAll);
target.addComponent(applyToAllArea);
}
};
addToAllCheckbox.setVisible(documents.size() > 1);
add(addToAllCheckbox);
// some code here
}
private boolean isAddToAll() {
return addToAll;
}
}
Когда я ввожу некоторую информацию в текстовое поле, а затем нажмите на флажок в два раза (скрыть и показать текстовое поле) моя напечатал информация проиграете.
Итак, как я могу сохранить набранную информацию без формы submit?
Калитка версия 1.4.20
'''applyToAllArea.setVisible (addToAll)' '' сделает так, что после вызова Ajax текстовая область больше не является частью dom. Таким образом, любой вход будет потерян. Вам потребуется отправить и сохранить значение в своем компоненте. Калитка 1.4? действительно? – bert
@bert Спасибо за ваш комментарий –