一个页面提交,另一个页面刷新怎么实现啊
如图:我有一个主菜单页面(企业应用那种主菜单)
在主菜单页面右边有一个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的局部刷新 ,但有一个缺点就是 局部刷新是有一个时间不 不是即时的那种
我是想发了短信别人可以立即收到 还是谢谢你啦
------其他解决方案--------------------
局部刷新的时间是根据你的服务器性能来的,比一般的servlet要快(因为处理的数据量一般小)。
你想要的结果是这边打出来那边直接显示么,不经过服务器?