今天在做一个弹出模态窗口时搞了我一晚上。google半天,找来找去文章就哪么几篇,别人的能刷新偶的就是不行,后来在一网友帮助下总算是找到问题所在,搞定了。
//在模态窗口中提交数据总是会弹出一个新窗口,上次遇到过这问题,所以这次一来就在html里加上了
<form id="form1" runat="server" target="bbc2188">
.....................
<iframe name="bbc2188" width="0px" height="0px" frameborder="0" style="display:none"></iframe>
//然后在网上又看到这样一段, <base target="_self">,偶就把这段加到head里面去了,因为没太注意这个target="_self"所以搞得偶一晚上都在找问题。
就这样自己试了很多常用js刷新页面的方法,都不能实现这个模态页面刷新,又搜索了半天,看到有人这样重新加载要刷新的页面
在html里放一个a标签,让他不显示。
<a id='reload' href='default.aspx?pid=' style='display:none'></a>
下面是用到的js脚本
<script language ="javascript" type ="text/javascript" >
function geturl()//得到url中的参数,因为偶做的是一个图片评论,所以这用js接收图片id方便从新绑定时用。
...{
var parmName="pid";
var url = window.location.toString();
var arr = url.split("?");
var parms = arr[1];
var parmList = parms.split("&");
var parmTemp;
for(var i=0;i<parmList.length;i++)
...{
parmTemp = parmList[i].split("=");
if(parmTemp[0] == parmName)
return parmTemp[1];
}
return "0"
}
function setReloadHref()//刷新网页
...{
var reload=document.getElementById ("reload");
reload.href ="default.aspx?pid="+geturl()+"&"+Math.random();
}
function reloadClick()//单击触发刷新事件
...{
var reload=document.getElementById ("reload");
reload.click();
}
</script>然后在<body>中添加事件处理方法
<body onkeydown="javascript:if (event.keyCode==116){reload.click();}" onload ="setReloadHref();">
现在页面可以刷新了,但怎么总不是最新的呢?也就是说现在提交一条数据页面刷新还是没变,只有在按一次F5这个模态窗口才刷新刚才提交的数据,删除也一样,后来发现把<form id="form1" runat="server" target="bbc2188">中的target属性去掉就搞定了。一提交就完成刷新了。
并且之前添加的哪些木用的js脚本也可以删除了,又是一个小错误搞偶一晚上,哎。
发表于 @ 2007年10月13日 23:12:00 | 评论( loading... ) | 举报| 收藏