相关疑难解决方法(0)

按Enter键时,Jsf从输入文本调用bean方法

JSF 2.0,Mojarra 2.0.1,PrimeFaces 3.4.1

这是一个p:inputText组件,当按下回车键时,它应该调用一个支持bean方法.

<p:inputText id="commentInput" rendered="#{status.haveComment}" 
    value="#{statusBean.newComment}"
    onkeypress="if (event.keyCode == 13) { onchange(); return false; }">
    <f:ajax event="change" listener="#{statusBean.test}" />
</p:inputText>
Run Code Online (Sandbox Code Playgroud)

虽然支持bean有以下方法:

public void test(AjaxBehaviorEvent event) {
   System.out.println("Pressed enter!");
}
Run Code Online (Sandbox Code Playgroud)

当按下回车键时它是调用方法,但它有更多; 意外行为案例:

--Click input text
----Type some letters
------Click somewhere else in the page
--------CONSOLE: Pressed enter!
Run Code Online (Sandbox Code Playgroud)

我认为ajax event=change以某种方式检测到变化并调用该方法.如何将此p:inputText组件转换为适当的评论接受者组件,如Facebook或其他人?

primefaces jsf-2

21
推荐指数
1
解决办法
3万
查看次数

JSF 2.0:按ENTER时的ajax请求

当我在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>
Run Code Online (Sandbox Code Playgroud)

在bean中我有一个简单的方法:

public void save(AjaxBehaviorEvent event){
  ...
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但刷新页面!!! 为什么?我该如何解决?

ajax jsf

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×1

jsf ×1

jsf-2 ×1

primefaces ×1