`
jiahh
  • 浏览: 37226 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js 中在子窗口中提交表单关闭子窗口刷新父窗口

阅读更多
按需求设计,一个窗口中,点击按扭,弹出模式窗口,在模式窗口中,添加完数据后(提交),关闭模式窗口,并且刷新父窗口,而恰恰模式窗口并不支持window.opener,所以无法获得父窗口,也就是说无法在关闭模式窗口后,来得到父窗口,但是可以借助showModealDialog的返回值来判断是否刷新,当调用showModealDialog时,父窗口代码会停在这一行,当弹出的模式窗口关闭时给window.returnValue赋值,再调用window.close()方法,最后submit提交,等数据提交后,会关闭了模式窗口,此时程序返回到父窗口,showModealDialog得到返回值,接下来,根据返回值即可决定是否要reload,注意:为避免打开新窗口,一定要在父窗口的<head>下加入<base target="_self" />,这样子就实现了关闭模式窗口来刷新父窗口了。

代码1:parent form
function showDatas(){
   var re=window.showModalDialog("url","parameter","description");
    if(re==1){
        window.location.reload();
    }
}
代码2:modal form
function subForm(){
    window.returnValue="1";
    window.close();
    document.getElementById("myForm").submit();
}
---------------------------------------------------------------------------------------------------------------
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口,其实解决方法很简单如下。
在子窗口自身使用
<base target = "_self">
放在head标签中
<head>
<BASE target=_self>
</head>

--------------------我实际中的使用--------------------
父页面:
function editItBrand(id){
  var url = "editItBrand.jsp?id="+id;
   var re=window.showModalDialog(url,window,"dialogWidth:610px;dialogHeight:390px;");
  if(re==1){
   //window.location.href=window.location.href ;
   window.location.reload();
  }
}
子页面:
<head>
<base target = "_self">
</head>
function submitForm(){
       window.returnValue="1";
        window.close();
       myform.submit();
}
分享到:
评论

相关推荐

    javascript函数的解释

    89-2.opener.location.reload()刷新父窗口对象(用于单开窗口) 89-3.top.location.reload()刷新最顶端对象(用于多开窗口) 90.window.history.back()返回上一页,window.history.forward()返回下一页,window....

    55种网页小技巧 ---- 下载无需扣分,具有一定收藏价值

    在打开的子窗口刷新父窗口的代码里如何写.html 在网页中用按钮来控制前页,后页和主页的显示.html 在规定时间内跳转.html 在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动.html 如何设定打开页面的...

    ExtAspNet_v2.3.2_dll

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    107个常用javascript语句

    45.打开子窗口的父窗口为:opener 46.表示当前所属的位置:this 47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名 48.在老的浏览器中不执行此JS:&lt;!-- //--&gt; 49.引用一个文件式的JS:...

    JavaScript笔记

    注意:js中的方法可以直接写在代码中,不需要“类”包裹 使用方法:方法名()--&gt;方法调用--&gt;立即执行 2.js文件:网页外专门保存js脚本的文件--推荐 强调:HTML、CSS、JS都要使用UTF-8编码保存(window系统) ...

    PHP程序开发范例宝典III

    实例086 关闭弹出窗口时自动刷新父窗口 128 实例087 在弹出的对话框中选择个性头像 130 实例088 自动关闭的广告窗口 131 实例089 关闭IE主窗口时,不弹出询问对话框 132 实例090 弹出提示对话框并重定向...

    asp.net知识库

    如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once in asp.net 2.0 Coalesys PanelBar ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    10.9.2 单个表中的父/子视图 10.9.3 使用查找表编辑字段 10.9.4 处理来自数据库的图片 10.9.5 探测并发冲突 10.10 总结 第11章 缓存和异步页面 11.1 理解ASP.NET缓存 11.2 输出缓存 11.2.1 声明性...

    ASP.NET4高级程序设计(第4版) 3/3

    10.9.2 单个表中的父/子视图 347 10.9.3 使用查找表编辑字段 349 10.9.4 处理来自数据库的图片 351 10.9.5 探测并发冲突 355 10.10 总结 359 第11章 缓存和异步页面 360 11.1 理解ASP.NET缓存 360 ...

    帝国下载系统 v2.5 开源正式版 bulid 090613.rar

    27、增加用户设置管理分类支持选择父分类,选择父分类会应用于子分类权限。 28、新增前台购买充值类型管理:可设置充值有效期及点数。会员购买更点数、有效期非常方便,全自动充值。 29、新增在线支付功能: (1)...

    帝国下载系统 v2.5 开源正式版 bulid 090416.rar

    27、增加用户设置管理分类支持选择父分类,选择父分类会应用于子分类权限。 28、新增前台购买充值类型管理:可设置充值有效期及点数。会员购买更点数、有效期非常方便,全自动充值。 29、新增在线支付功能: (1)...

    帝国下载系统 v2.5 开源正式版 bulid 090613

    27、增加用户设置管理分类支持选择父分类,选择父分类会应用于子分类权限。 28、新增前台购买充值类型管理:可设置充值有效期及点数。会员购买更点数、有效期非常方便,全自动充值。 29、新增在线支付功能: (1)、...

Global site tag (gtag.js) - Google Analytics