3

Enterキーを押してフォームを送信したい。Wicketを使用すると、ボタンがフォームにアタッチされて表示されるまで、これを実行できます。改札のフレームワークで、Enterキーを押すだけでフォームを送信する方法はありますか?

作品を入力してください:

Form<?> searchForm = new Form<Void>("searchForm");
add(searchForm);
searchForm.add(button);

入力が機能しない:

Form<?> searchForm = new Form<Void>("searchForm");
add(searchForm);
searchForm.add(button);
button.setVisible(false);

どちらの場合も、ボタンは単純なAjaxButtonです。

4

2 に答える 2

7

次のようにして、HTML でボタンを非表示にします。
style="visibility:hidden;"

次に、Java コードでこれを行います。
searchForm.setDefaultButton(button);

于 2012-12-06T13:42:49.243 に答える
1

ボタンがない場合 (ボタンを非表示にすると、マークアップでレンダリングされません)、テキスト フィールドで Enter キーを押してもフォームを送信できません。(明らかに)表示するか、JavaScriptを使用して入力時に送信を実行します。

JQuery の例:

$(submitOnEnter);
function submitOnEnter () {
    $("body").on("keydown", "mytextfield-selector", function(event){
        if (event.keyCode == 13) {
            event.preventDefault();
            $("myform-selector").submit();
        }
    });
}
于 2012-12-01T09:33:57.673 に答える