window.opener.location.reload()的使用,大家帮忙啊

时间:2023-02-04 12:34:05
我的score.php是用来显示数据的,其中有这么一个按钮:
<input type=button name=edit value=添加 onclick=javascript:window.open('scoreadd.php?,'_blank','width=600,height=350,top=150,left=250','toolbar=no,menubar=no,scrollbars=yes')>
scoreadd.php是用来添加按钮的。
里面有这么一个FROM:
<form name=scoreadd action="scoreadd.php?bjscore_tbname=<?echo $bjscore_tablename;?>&bjstu_tablename=<?echo $bjstu_tablename;?>" method=post onsubmit="return userconfirm(this)" onclick="window.opener.location.reload()">
 成绩:<input name=score onfocus=this.select() onMouseOver=this.focus()></input>
 排名:<input name=paiming onfocus=this.select() onMouseOver=this.focus()></input>
<input type=submit value=确定 >
 <input type=reset value=重写>
</form>
 <script>
 function userconfirm(f)
 {
  
  var s="学号:"+f.stuname.value+"\n成绩:"+f.score.value+"\n排名:"+f.paiming.value+"\n确认要添加吗?"
  if(confirm(s))  return true
  
  return false
  
 }
onclick="window.opener.location.reload()"一句当然是为了让父窗口刷新的。
onsubmit="return userconfirm(this)"是为了在提交之前弹出一个确定的消息框。
现在问题是,如果按照上面的代码把onclick="window.opener.location.reload()"放在FORM里,那么不等你确定那个消息框,父窗口就已经在添加数据之前刷新了。该怎么办呢。我后来把window.opener.location.reload()放到function里面,即:
<script>
 function userconfirm(f)
 {
  
  var s="学号:"+f.stuname.value+"\n成绩:"+f.score.value+"\n排名:"+f.paiming.value+"\n确认要添加吗?"
  if(confirm(s))  
          {window.opener.location.reload() 
          return true
          } //或者两句的顺序换一下
  
  return false
  
 }
 </script>
可是这样还是不行。高手请指教啊!!!谢谢了

8 个解决方案

#1


{
window.opener.location.reload();
return true;
}
最明显的错误就是你没有加分号!你先改改,看还有没有错误!

#2


你要通过页面处理表单的吧?
php:
<?……//这里是你的表单处理程序
  echo "<script>opener.location.reload()</script>";
?>
asp:
<%……'这里是你的表单处理程序
  response.write "<script>opener.location.reload()</script>"
%>

#3


回复人: Estyle(靳田) ( ) 信誉:110  2003-04-20 17:52:00  得分:0 
  {
window.opener.location.reload();
return true;
}
最明显的错误就是你没有加分号!你先改改,看还有没有错误!

呵呵~~
js不加";"并不算错。
错就错在他搞错了程序执行的时间。
 
 

#4


to: xinyunyishui(心云意水)
谢谢,今天又丢一次脸。不过好在丢脸总算长见识!不吃亏。

#5


倒!没那么严重吧……

#6


麻烦大哥直接把我的代码复制一下,然后将opener.location.reload()放在正确的位置好吗?就是将我的全部代码修改后都贴出来.我基础不好,还不能解决那个问题.谢谢了!!!!!!!!

#7


去掉onclick="window.opener.location.reload()"
在新打开的一页中
<body onload="window.opener.location.reload()">

#8


mark一下~

#1


{
window.opener.location.reload();
return true;
}
最明显的错误就是你没有加分号!你先改改,看还有没有错误!

#2


你要通过页面处理表单的吧?
php:
<?……//这里是你的表单处理程序
  echo "<script>opener.location.reload()</script>";
?>
asp:
<%……'这里是你的表单处理程序
  response.write "<script>opener.location.reload()</script>"
%>

#3


回复人: Estyle(靳田) ( ) 信誉:110  2003-04-20 17:52:00  得分:0 
  {
window.opener.location.reload();
return true;
}
最明显的错误就是你没有加分号!你先改改,看还有没有错误!

呵呵~~
js不加";"并不算错。
错就错在他搞错了程序执行的时间。
 
 

#4


to: xinyunyishui(心云意水)
谢谢,今天又丢一次脸。不过好在丢脸总算长见识!不吃亏。

#5


倒!没那么严重吧……

#6


麻烦大哥直接把我的代码复制一下,然后将opener.location.reload()放在正确的位置好吗?就是将我的全部代码修改后都贴出来.我基础不好,还不能解决那个问题.谢谢了!!!!!!!!

#7


去掉onclick="window.opener.location.reload()"
在新打开的一页中
<body onload="window.opener.location.reload()">

#8


mark一下~