1

検索フィールドとコマンドボタンの2つのコンポーネントにまたがっています。コマンドボタンはセパレータタスク用です。したがって、入力フィールドがフォーカスされ、ユーザーがEnterキーを押すと、検索結果ページにリダイレクトされ、コマンドボタンは呼び出されません。

<s:span>
    <h:inputText value="#{search.input}" onkeypress="performSearch(event)"/>
    <a4j:commandButton image="icon.jpg" action="#{some action}" ajaxSingle="true">
    </a4j:commandButton>
</s:span>

PerformSearchは、Enterで実際の検索を呼び出すjavascript関数です。

これで、入力フィールドでEnterキーを押すと、commandButtonのアクションが呼び出されます。それを修正するためのアイデアはありますか?

4

1 に答える 1

0

エンターキーが押されたときに戻るonkeypress必要があります。falseこれにより、Enterキーのデフォルトのアクションがブロックされます。

したがって、

onkeypress="return performSearch(event)"

のようなもので

function performSearch(event) {
    // ...

    if (notEnterPressed) {
        return true;
    }

    // Perform search.
    // ...

    return false;
}
于 2012-06-07T21:32:55.290 に答える