私はチェックボックスとテキストエリアでウィッケットフォームを持っています。 チェックボックスの値が変更されたら、テキストエリアを非表示にして表示する必要があります。私はテキストエリアにいくつかの情報を入力して、私のタイプされた情報を失う二回(非表示と表示のテキストエリア)チェックボックスをクリックしますApache Wicket:テキストエリアが非表示/表示後にコンテンツを失う
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;
}
}
:
は、これが私の実装です。
フォームの送信を行わずに入力情報を保存するにはどうすればよいですか? @bertが問題を説明したように
Wicketのバージョン1.4.20
'''applyToAllArea.setVisible(addToAll) '"は、Ajax呼び出しの後に、テキスト領域がもうdomの一部でないようにします。したがって、入力はすべて失われます。サブミットし、コンポーネントに値を格納する必要があります。 Wicket 1.4?本当に? – bert
@bertコメントありがとうございました –