showModalDialog 传值,刷新,后退 技巧

[ 2007-04-07 16:43:36 | 作者: admin ]
字号: | |
父窗口刷新
引用
  var vReturn='';
  var strFeature = 'dialogWidth:530px;dialogHeight:470px;status:0;scroll:1:0;help:0;';
  vReturn=window.showModalDialog(strUrl,window,strFeature);

请注意:在第二个参数使用的是window,作用相当于把当前的父窗口当作对象传入到子窗口
在子窗口中使用父窗口的对象:window,但使用时要用dialogArguments引用父窗口对象。例如:

    dialogArguments.location='other.asp'; //父窗跳转
    dialogArguments.location.reload();//父窗刷新
    window.close(); //子窗关闭

 
防止新窗口打开
子页面放入代码:
引用

<base target="_self">
链接才会在本窗口打开,如果是 form 提交表单,要将 form 的 target 属性设置为空,否则也会从新窗口提交.

后退

在 showModalDialog 中提交了一个表单,我们需要对表单数据进行判断,如果错误则后退,在 showModalDialog 是不能使用
引用

history.back()

等脚本来做后退的
我们只好变通实现一下:
在页面中做一个链接,ID为 back,然后通过脚本模拟点击实现:
引用

back.click();

实现
呵呵,妙吧?
这样做的缺点是,不能保存用户输入的表单数据,不过暂时也不需要这功能,如果需要,可以用 其他的方式先保存,在读取就可以了
[最后修改由 admin, 于 2007-04-13 04:18:04]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=846

这篇日志没有评论。

此日志不可发表评论。