通过tr:commandButton提交表单时出现问题 - 未生成POST请求

时间:2015-06-19 11:01:59

标签: javascript jsf trinidad

在我的JSF 1.2应用程序中,我使用trinidad扩展服务添加脚本功能来调用javascript函数。

我可以从以下javascript控制台日志中看到正在调用js方法。 但是没有生成POST请求。 页面中有许多其他(正常)按钮,没有任何问题。 我的控制台中没有JS错误。我确保所有包含的页面都没有任何形式,这是唯一的形式。

我最担心的是,它在我的本地工作区中工作正常,而且我只是在直接点击我的应用程序URL时遇到问题。所有IE版本都会发生这种情况。

有人可以提出可能存在的问题吗?

在Bean中:

FacesContext facesContext = FacesContext.getCurrentInstance();
                      ExtendedRenderKitService service = Service.getRenderKitService(
                                  facesContext, ExtendedRenderKitService.class);
                      service.addScript(facesContext, “clickHiddenButton();”);

使用Javascript:

function clickHiddenButton () {
      if(null != console)
            console.log('before calling hidden button for close');
      document.getElementById('hiddenButton').click();
      if(null != console)
            console.log('after calling hidden button for close'); 
}

我的页面隐藏按钮组件:

<tr:commandButton id="hiddenButton" action="#{bean.actionHidden}" immediate="true"></tr:commandButton>                                                                                                                                                                  

1 个答案:

答案 0 :(得分:0)

在我通过以下代码单击隐藏按钮之前将方法暂停500毫秒后,它正在工作。可能这不是正确的方法(这就是为什么我还没有接受这个答案)。我相信有人可以清楚地解释这个问题。

function clickHiddenButton () {
      setTimeout('clickHiddenButtonAfterDelay()',500) 
}



 function clickHiddenButtonAfterDelay() {
          if(null != console)
                console.log('before calling hidden button for close');
          document.getElementById('hiddenButton').click();
          if(null != console)
                console.log('after calling hidden button for close'); 
    }