Richfaces inputText onBlur and commandButton onClick



我有一个有两个文本字段和一个commandButton的页面,在其中一个文本字段onBlur中,我在bean中调用onBlur()方法,在commandButton中,我在bean中调用onClick()方法,除了当我单击commandButton,如果焦点是在onBlur的文本框上,那么只有onBlur方法被调用,而不是两者。我已经附加了xhtml文件和bean。

XHTML代码

<h:inputText id="service" value="#{onBlurTestBean.service}">
  <a4j:support status="test" event="onblur"
    action="#{onBlurTestBean.onBlur}"  reRender="category" />
</h:inputText>
<a4j:htmlCommandLink id="submit" action="#{onBlurTestBean.onClick}"
  ajaxSingle="true" value="Click!" />
憨豆

public class OnBlurTestBean {
    private String service;
    private String category;
    public void initialize(){
    }
    public void onBlur(){
        log("onBlur");
        try{
            Thread.sleep(1000);
        }catch(Exception e){
        }
    }
    public void onClick(){
        log("OnClick");
    }
    public void log(String msg){
        System.out.println(msg);
    }
}

指定的例子在问题工作OK(两个方法都调用onBlur和onClick)。在你的情况下,你似乎有a4j:status组件阻止用户点击(例如覆盖布局与不可见的div)。

验证我的假设,尝试以下(status属性删除,a4j:region添加):

<a4j:region>
    <h:inputText id="service" value="#{onBlurTestBean.service}">
        <a4j:support event="onblur"
            action="#{onBlurTestBean.onBlur}"  reRender="category" />
    </h:inputText>
</a4j:region>
<a4j:htmlCommandLink id="submit" action="#{onBlurTestBean.onClick}"
        ajaxSingle="true" value="Click!" />

相关内容

  • 没有找到相关文章

最新更新