当子窗口打开时,不提交父窗口的形式

时间:2014-03-06 08:06:44

标签: javascript php

我写这段代码..但是我想在子窗口打开时不提交父窗口的形式

<script language="javascript">   
 function popwindow(page) { 
OpenWin = this.open(page,"CtrlWindow","top=80,left=100,screenX=100,screenY=80,width=600,height=400,status=yes,toolbar=no,menubar=no,location=no, scrollbars=yes,resizable=yes");
OpenWin.focus();
return false;
}
</script>

2 个答案:

答案 0 :(得分:0)

使用false创建一个全局变量,当您打开子/新窗口时将其设置为true。在窗口关闭设置该变量再次为假。在表单上提交检查变量状态。如果是假的,请提交否则不提交。使用 window.open/window.close 方法。

使用此代码:

HTML

<form method="get" action="">
    <button value="open" id="open">Open</button>
    <input type="submit" value="submit" />
</form>

JS(jQuery 1.9)

$(function(){
    var customWindow = false;
    $('#open').click(function(e){
        e.preventDefault();
        customWindow = true;
        customWindow = window.open('http://www.google.com', "","menubar=1,resizable=1"); 
        customWindow.focus(); 
    });

    $('[type="submit"]').on('click', function(e){
        e.preventDefault();
        if(customWindow.closed || !customWindow) {
            alert('form submit');
        } else {
            alert('please close the child window');
        }
    });
});

see this fiddle

答案 1 :(得分:0)

窗口有closed属性,所以请检查OpenWin.closed。

http://www.w3schools.com/jsref/prop_win_closed.asp