等待弹出窗口关闭然后再继续使用Javascript

时间:2017-10-29 14:27:37

标签: javascript asp.net

情况如下,我有一个带有按钮的asp页面,该按钮向服务器发送保存请求(onClick),但在此之前必须检查一些事情,如果需要,必须要求更多信息用户通过弹出窗口。这是通过为OnCLientClick运行js函数来完成的,如果这些验证通过,那么我们继续保存。

JS看起来如下,我们首先检查是否需要额外的信息,如果是这种情况我们通过弹出窗口打开一个新页面,这个弹出窗口然后调用opener来设置一个布尔值。根据这个布尔值,我们希望OnClick的保存是否继续。

父js的代码如下:

var FilledIn = false;
function f1(url){
    if(validate){
        var popupObject = window.open(url);  
        popupObject.focus();
        return setTimeout(function(){
        if (popupObject.closed){
            return FilledIn; //Global set by the child
        }
        }, 500);
    }
    else  {
      return true;
    }
}

问题是即使在弹出窗口关闭之前就已经返回了fillIn值,导致已经发生了保存(如果为true),这应该等到弹出窗口关闭(无关紧要)。我使用超时来防止这种情况,但这不会产生预期的结果。我怎样才能达到预期的效果?

0 个答案:

没有答案