【问题标题】:Method should wait until window.open close方法应该等到 window.open 关闭
【发布时间】:2020-06-03 22:52:18
【问题描述】:

我正在用 JSF 开发应用程序。我创建了t:commandlink,它在onclick 事件中调用JavaScript 方法,我在同一个t:commandlink 中有一个动作。这将在 onclick 事件完成后触发。在我使用 IE 浏览器之前,我使用window.openmodaldialog('sample.xhtml', '_blank'); 在 javascript 中打开弹出窗口,如下所示,

<t:commandlink onclick="openPopup()" action="#{samplebean.savedata()}"></t:commandlink>

Javascript 代码:

function openPopup(){
  window.showmodaldialog('sample.xhtml', '_blank');
  return true;
}

在上面的代码中,'openPopup' 方法等到 showmodaldialog 关闭。现在正在将应用程序迁移到 Chrome 浏览器。所以,我使用了window.open,因为window.showmodaldialog 在 Chrome 中已被弃用。这里面临的问题是openPopup 方法不等到弹出窗口关闭。它正在执行并且 t:commandlink 动作块被调用。如何使openPopup 方法等到弹出关闭。

【问题讨论】:

  • 那就学习ajax
  • 也许this 能帮到你

标签: javascript jsf


【解决方案1】:

尝试切换到oncomplete,而不是onclick

【讨论】:

  • JavaScript 方法完成后应该调用操作。
  • 如果是openPopup的问题,只有在savedata没有问题的情况下才应该调用,你可以试试this。也可以尝试调用openPopup服务端,在savedata函数结束时
  • 你是对的,但在 50 代表之前我无法发表评论 ^^,现在我使用它们
猜你喜欢
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
相关资源
最近更新 更多