日期:2014-05-17  浏览次数:20723 次

一个页面提交,另一个页面刷新怎么实现啊

如图:我有一个主菜单页面(企业应用那种主菜单)

 在主菜单页面右边有一个iframe,页面是内部短信的页面
我想在我提交内部短信成功后 传一个值在主菜单页面上 然后设置一个图标闪动提示有新邮件

------最佳解决方案--------------------
你这是好几个问题,不是一个。
首先,主页面采用框架结构,格式:
<frameset cols="20%,80%">
<frame src="fa.html"><!--定义一个框架-->
<frame src="fb.html">

<noframes><!--不支持框架时的提示信息-->
<boby>不支持框架</boby>
</noframes>
</frameset>
其实就是一个框架不变,另一个框架跳转。
至于具体的,你自己设置下。
第二个问题:
使用到Ajax的局部刷新。
发送信息后同时发送一个请求,这个请求可以带值的,servlet接收请求后返回一个信息,这个信息显示在你那个状态框里面就行了。
具体代码:
<script>
document.getElementById("name").onkeyup=complete;//你所获取的元素名
   function complete(){  
   var value=this.value;
   var xhr;
   if(window.XMLHttpRequest){
   xhr=new XMLHttpRequest();
  
   }else if(window.ActiveXObject){
   xhr=new ActiveXObject("Microsoft.XMLHttp");
   }
   xhr.onreadystatechange=callback;//设置回调函数
   xhr.open("GET","SousuoServlet?name="+value,true);  
   xhr.send(null);//发送
   function callback(){
   if(xhr.readyState==4){//这句话什么意思? readyState一共有五个状态 0 未连接 1 打开连接 2 发送请求 3 交互 4 完成交互,    
   if(xhr.status==200){//下面的不运行代表页面有错误
   //xhr.status==200是要通过 服务器来浏览,并且服务器页面没有发生错误或者转向时才返回200状态的
   var content=xhr.responseText;
var keywords=content.split("-"); 
  
   var e=document.createElement("div");
   e.innerHTML=content;  

complete.style.display="block";
   }
   } 
   }
   }
</script>
我没调试,在原来的代码基础上改的,有可能会有点错误,建议你还是自己调试下,这样收获的是最多的。
------其他解决方案--------------------
你说的这个有道理 我也想到了用ajax的局部刷新 ,但有一个缺点就是 局部刷新是有一个时间不 不是即时的那种
   我是想发了短信别人可以立即收到 还是谢谢你啦

引用:
你这是好几个问题,不是一个。
首先,主页面采用框架结构,格式:
<frameset cols="20%,80%">
<frame src="fa.html"><!--定义一个框架-->
<frame src="fb.html">

<noframes><!--不支持框架时的提示信息-->
<boby>不支持框架</boby>
</noframes>
</……

------其他解决方案--------------------
引用:
你说的这个有道理 我也想到了用ajax的局部刷新 ,但有一个缺点就是 局部刷新是有一个时间不 不是即时的那种
   我是想发了短信别人可以立即收到 还是谢谢你啦

引用:
你这是好几个问题,不是一个。
首先,主页面采用框架结构,格式:
<frameset cols="20%,80%">
<frame src="fa.html"><!--定义一个框架-……

局部刷新的时间是根据你的服务器性能来的,比一般的servlet要快(因为处理的数据量一般小)。
你想要的结果是这边打出来那边直接显示么,不经过服务器?