目前在开发中用到一个在主页面打开模态对话框然后在模态对话框上又打开模态对话框的功能
main->showModalDialog->showModalDialog的模式,在这个页面里面用windows.returnvalue向上一个页面返回数据,在这个页面用<a href="#"  onclick="javascript:execute();"></a>,
execute方法如下,function execute(groupId, groupName) {
window.returnValue=groupId+'|'+groupName; 
                         window.close();
}
,现在的问题是在该方法里的返回值正常返回到了上一个页面,但是在返回的同时又新打开了一个页面,
新窗口地址如下:javascript:execute();
不知道问题说清楚了没有,这个问题在IE8,IE7下没有问题不会弹出新窗口,但是在IE6下面会出现此问题,百思不得其解,在此请教诸位大虾指点,不胜感激!

解决方案 »

  1.   

    try<a href="javascript:void(0)"  onclick="javascript:execute();"></a>
      

  2.   

    ie6的确有好多不支持的地方。
    建议lz写标准的html语句。参照web2.0标准。
      

  3.   

    IE兼容性问题确实比较麻烦。
    不晓得楼主要考虑浏览器兼容性不。
    遇到这样的问题只好Google了。
      

  4.   

    head 中  增加一行
    <base target="_self" />
      

  5.   

    我也做了个网站,很都高极点的,都不会。给楼主加油,共同努力,  http://www.12jiayou.com
      

  6.   

    试试:<a href="#"  onclick="javascript:execute();return false;"></a>
      

  7.   


    <head>
     <base target="_self" />
    </head>
      

  8.   

    <a href="#"  > <span onclick="javascript:execute();return false;">aa</span></a>
      

  9.   

    <a href="#"  onclick="javascript:execute();return false;"> </a>
      

  10.   

    首先感谢楼上诸位的诸多建议,这个return false的方式我也使过了,没有起左右,这个onclick事件里面return fasle以后,这个<a>,又把这个onclick时间的内容当成一个超链接去打开新窗口了,并没有当做js函数去编译执行,困惑就在此,
    连接地址如下:javascript:execute('10000','北京市');return false;
    恳请诸位大虾继续挖掘,不甚感激!!
      

  11.   

    回复#6:
    兼容性问题不是不想考虑是不得不考虑,客户的老系统只能在IE6甚至更老的系统下运行,我们的新系统也没办法,必须兼容多个版本的浏览器,所以遇到一个只有在IE6下才能遇到的问题,googel正在尝试,暂时没有好的解决方案
      

  12.   

    回复#10:
    在打开这个模态对话框的代码里只有一个returnvalue的语句:
        var returnValue=window.showModalDialog("地址");
        if (typeof(returnValue) != "undefined"){
        var value = returnValue.split("|");
        document.all.group_id.value=value[0];
        document.all.groupName.value=value[1];
        }
    然后就打开了这个模态对话框,在这个模态对话框里RT返回
      

  13.   

    在head标签的对中位置添加<base target="_self"/>
      

  14.   

    <a href="####"  onclick="javascript:execute();"> </a>
      

  15.   

    <a href="#"  onclick="javascript:execute();"></a>
    怎么可以这样写啊??
    应该这样写的
    <a href="#"  onclick="execute()"></a>
      

  16.   

    因为你打开的是模态对话框,也就是说你调用的是window.showModalDialog方法,这个方法在.net中用起来就是怪,我在项目中也遇到过这样的问题,解决的办法是不用这个方法弹出页面,而是用window.open方法,同样可以得到返回值,也解决了打开新窗口的问题
      

  17.   

    <base target="_self" />
      

  18.   

    <base target="_self" /> 
    这个
    <a href="javascript:函数名" target="_self"></a>
      

  19.   

    <a href="###" onclick="javascript:execute();"></a>
    a标签的onclick事件会有IE兼容性问题,
    或者用DIV替换a,指定onclick事件.
    <div class='link' onclick="javascript:execute();"></div>
      

  20.   

    回复#23的问题
    首先要明确一个概念,这位仁兄可能不太知道,在模态对话框里在openwindow你试试看会有什么效果,会seession失效,仁兄可以去试验一下,所以不采用哪种方式。
      

  21.   

    用A是因为页面的好多时间要绑定超链接,也考虑过iframe,不太友好