私のフォームは、次の要素で構成されていますのプログラム部分提出
- ICEfacesをテキストフィールドは、検索条件を入力します。
- icefacesコマンドボタン(検索)部分提出と一致するユーザーの新しいリストを入力します。
- 他の2つの氷面のテキストフィールドは、フォーム全体を送信するときに値が必要です。
要件:ユーザープレスがテキスト入力フィールドに入力したときに私が欲しい、ボタンがクリックされます見つける(ボタンをマウスでクリックがあったとき、それは部分的には自動的に提出します)
はので、ここで私が試したものです:
<ice:inputText id="recipient" value="#{myBean.searchValue}" size="60"
onkeydown="handleEnter(event,this.form);" >
</ice:inputText>
<ice:commandButton id="find" value="Find" action="#{myBean.findEmployees}" partialSubmit="true"
>
<f:ajax execute="@this" render="employees" />
</ice:commandButton>
JS方法:
function handleEnter(event,form){ if (event.keyCode == 13){ document.getElementById(form.name+':find').click(); } }
生成された氷のコマンドボタン:
<input type="submit" value="Find" style="width: 60px;" onfocus="setFocus(this.id);" onclick="iceSubmitPartial(form, this, event);return false;" onblur="setFocus('');" name="myForm:find" id="myForm:find" class="iceCmdBtn findButton">
ISSUE:ユーザーは、Enterキーを押したときに何が起こることはあり、ボタンが呼び出されるが、全体フォームが送信されますので、必要な検証エラーが表示されます見つけます他の2つのテキストフィールドについては、
フォーム全体が提出される理由と、そのような問題の処理方法を教えてください。
上の真の私は 'まさにHTMLわからないんだけど:' '代わりにクリック()'の)<氷のcommandButton>は '生成しますが、(onclickの'てみてください。ボタンを実際にクリックするのではなく、ボタンの 'onclick'関数を起動します。 – BalusC
@BalusC、onclickは同じ動作をします。iceコマンドボタンの生成コードを追加しました。 –