在我的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>
答案 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');
}