问题如下:
点击了HyperLink,打开了A页面。再次点击HyperLink,又打开了一个A页面。请问有谁知道,如何使 再次点击HyperLink,如果A页面存在的话,就不要再次重复打开??
在线等~~~谢谢。以上是我昨天发的一个求救帖,已经结了~~~但是现在还有个问题想请教,就是再次点击HyperLink,如果A页面存在的话,不再打开新的A页面(已解决),并且,不要让A页面被重新加载(现在的现象就是好像在同一窗口中A页面被重新打开了一次,这样,在A中的数据就全都没有了),不要让A页面的数据状态丢失,有没什么好方法???
在线等,谢谢
点击了HyperLink,打开了A页面。再次点击HyperLink,又打开了一个A页面。请问有谁知道,如何使 再次点击HyperLink,如果A页面存在的话,就不要再次重复打开??
在线等~~~谢谢。以上是我昨天发的一个求救帖,已经结了~~~但是现在还有个问题想请教,就是再次点击HyperLink,如果A页面存在的话,不再打开新的A页面(已解决),并且,不要让A页面被重新加载(现在的现象就是好像在同一窗口中A页面被重新打开了一次,这样,在A中的数据就全都没有了),不要让A页面的数据状态丢失,有没什么好方法???
在线等,谢谢
在页面中加入javascript代码:
<script language="JavaScript">
function OpenWindow(id)
{
var Userid=id;
window.open(".aspx?ID="+Userid,null,"width=450,height=550,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
}
</script>
//
你在那个按钮的click事件里设一个逻辑型公共变量,当点击后使它保存一个值,你在打开的A页面中的page_unload()事件中再把这个变量改成初始值.或者也可以考虑Session保存状态!
请教~~~这段话不是很明白阿~~~
page_unload()事件中再把这个变量改成初始值.或者也可以考虑Session保存状态!那这个如果我的子页面有很多的关闭方法那不是要做很多的处理?有没有简单点,不用涉及到子页面的方法呢?或者改动较小的~~~~感谢~!!!
在按钮的click事件里首先判断session["clickflag"]是否为假,如果为假,则打开新的页面,否则不打开.
(2)
在A页面中的page_unload()事件里把session["clickfalg"]重新设成假!明白了吗?
呵呵~~~
在datagrid 的hypelink列的url格式字符串中写上:javascript:OpenWindow("{0}")这个,不知道怎么加~~~麻烦指点下~~~
呵呵~~~
??????不明白!
var popUpWin;//保存打开的窗口变量
function popUpWindow(URLStr)
{
if(popUpWin)//如果存在该变量
{
if(!popUpWin.closed) popUpWin[userid].focus();//如果该窗口打开,那么focus
else //否则打开窗口
popUpWin = open(URLStr,'_blank',width=100,height=100);
}
else {//如果不存在,说明窗口没打开,那么打开窗口
popUpWin = open(URLStr,'_blank',width=100,height=100);
}
}
Dreamweaver自带的例子里面有这么一段脚本,平时多注意点,呵呵。
我用这种方法,打开n个窗口,并且可以判断其中任意一个窗口是否打开。方法是行得,你看怎么用到你自己的程序中去。
function popUpWindow(URLStr, left, top, width, height) {
if(popUpWin) {
if(!popUpWin.closed) popUpWin.focus();
}
popUpWin = open(URLStr, 'popUpWin',
'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',
top='+top+',screenX='+left+',screenY='+top+'');
}
这是Dreamweaver原版代码,我把popUpWin.close()改成了popUpWin.focus()
如果你用hyperlink只是传递一个参数,你可以用一个绑定列,然后在列里这样写:
<a onclick=popUpWindow(<%# DataBinder.Eval(Container,"DataItem.绑定的参数")%>,left, top, width, height) href=#>点击</a>
if(!popUpWin.closed) {
popUpWin.focus();
return;//如果不return 则下面又重复开了窗口
}
URL格式字符串,
javascript:OpenWindow("{0}")
{0}表示上URL中的字段值,
这个传递过程 就是把 一个URL字段值传到javascript函数中去,
感谢,那段脚本我用了
但是,主页面一刷新的话~~~,好像popUpWin的值就没了吧?那子页面不是等于还是被重新打开了一次?子页面又被刷掉了~~~55555555
window.open("xxx.aspx",name,"");
只要你中间的那个name变量有正式命名,那么,在打开的时候,它就会自动判断,不会多次弹出窗口.比如如下代码:
<a href=# onclick="window.open('b.htm','myname','')">open</a>
这样就可以了.