10

ページを更新せずにinputTextフィールドで「Enter」をクリックすると、ajaxリクエストを実行する必要があります。それが私のコードです:

<h:form id="form-test">
   <p:growl id="messages" showDetail="true"/>
   <p:inputText id="inputEnter" 
             onkeypress="if (event.keyCode == 13) {onchange(); return false; }" 
             value="#{bean.content}">
       <f:ajax event="change" listener="#{bean.save}" update="messages"/>
   </p:inputText>
</h:form>

そしてBeanには簡単な方法があります:

public void save(AjaxBehaviorEvent event){
  ...
}

すべて動作しますが、ページが更新されます!!! なんで ?どうすれば解決できますか?

4

2 に答える 2

4

あなたのような質問のスレッドが既にあります onBlur() イベントをトリガーするために押された ENTER キーを処理する方法は?

私はただ変わるだろう

onkeypress="if (event.keyCode == 13) {e.preventDefault();
inputEnter.onchange(); return false; }" 

JQuery を使用する場合

$('#form-test\\:inputEnter').onchange();
于 2012-05-09T11:32:44.757 に答える
-1

render param を入力する必要があると思うので、ページ全体を再度レンダリングすることはありません。

<h:form id="form-test">
   <p:growl id="messages" showDetail="true"/>
   <p:inputText id="inputEnter" 
             onkeypress="if (event.keyCode == 13) {onchange(); return false; }" 
             value="#{bean.content}">
       <f:ajax event="change" render="messages" listener="#{bean.save}" update="messages"/>
   </p:inputText>
</h:form>
于 2012-08-20T10:03:26.390 に答える