Tsukuru Takehana
tgens****@gmail*****
2008年 4月 8日 (火) 18:56:00 JST
たびたび失礼します。 竹花です。 仕様バージョン: 1.3.0 AjaxButtonで、与えられた値によってテキストの表示/非表示を変更したいので すが、AjaxButton内で一度非表示にしてしまうと再度表示されることがなくなっ てしまいます。 ex) 「a」を入力⇒ 「a」が表示される 「b」を入力⇒ 「b」は表示されない。以降「a」を入力しても何も表示されない。 WicketのAjax Debugのウィンドウを見ていると、表示されていなくても値は正常 に返ってきているのですがうまく行きません。 AjaxButton内でsetVisibleを変更するには、何か別の方法を使うべきなのでしょ うか? ご存知でしたら、ご教授おねがいします。 テスト用に書いたコードです。 public class ReRendering extends WebPage { public ReRendering() { Form form1 = new Form("form1"); final TextField text1 = new TextField("text1", new Model("")); final Label labelTest = new Label("test", new Model("")); labelTest.setOutputMarkupId(true); this.add(labelTest); form1.add(text1); form1.add(new AjaxButton("submit1", form1) { protected void onSubmit(AjaxRequestTarget target, Form form) { labelTest.setModelObject(text1.getModelObject()); //ハッシュコードの余が1の場合に表示 labelTest.setVisible(text1.getModelObject().hashCode() % 2 == 1); target.addComponent(labelTest); } }); this.add(form1); } }