有人能告诉我按下按钮时用来“隐藏”回发的技巧吗?
答案 0 :(得分:1)
如果要停止刷新页面,可以使用Ajax Control Toolkit中的UpdatePanel。这使您只刷新页面的一部分,而且无法通过查看来判断它。
答案 1 :(得分:1)
Ajax很可能是你真正想要的解决方案,但是你想要做的事情有一个快速而肮脏的解决方案(如果我理解你的话)。您可以在html中使用名称放置隐藏的iframe,例如:
<iframe name='hidden-result'...
您可以将要提交的表单的目标设置为iframe,如:
<form target='hidden-result'...
确保隐藏iframe,没有人会更聪明。当然,如果你真的想对响应做些什么,它会变得有点棘手;)
答案 2 :(得分:0)
实际上,我发现在IE中隐藏回发的一种方法是使用间隔很短的页面转换:
<meta http-equiv="Page-Enter" content="blendTrans(Duration=.01)" />
<meta http-equiv="Page-Exit" content="blendTrans(Duration=.01)" />
这会导致页面通过添加非常短的混合转换从一个屏幕翻转到另一个屏幕。
在其他浏览器中,您可以执行以下操作:
<SCRIPT type="text/javascript">
function fadeInit() {
document.body.style.opacity=0.2; // initialise
}
function fadeIn() {
var bodyStyle=document.body.style;
if ( bodyStyle.opacity < 1) {
bodyStyle.opacity=((bodyStyle.opacity*10)+1)/10; //Add 0.1
setTimeout('fadeIn();',50)
}
}
</SCRIPT>
<body onload="fadeInit();fadeIn();">
在此处获得第二个脚本:http://www.secretgeek.net/fajax.asp
答案 3 :(得分:0)
目前还不清楚你究竟在问什么,因为术语“回发”在你的问题中是错误的。这就是为什么我在评论中要求用你自己的话来详细说明它。
毕竟,我怀疑你只是想在按下按钮并执行附加到事件的一些JavaScript代码时阻止按钮的默认操作(提交表单)。如果这是真的,那么您需要做的就是让事件return false
。
基本启动示例:
<input type="submit" value="submit" onclick="doStuff(); return false;">
或doStuff()
本身已经返回true
或false
,例如validateForm(this)
左右,以便您可以决定是否继续提交表单,然后执行以下操作:
<input type="submit" value="submit" onclick="return doStuff();">
为了处理这个更干净,更无懈可击,我建议你看一下jQuery。
答案 4 :(得分:0)
根据“隐藏回发”的含义,Post-redirect-get是一种可以解决问题的常见模式。
基本思想是在处理每个POST后重定向,以便客户端只接收由GET命令生成的页面。除此之外,这可以防止客户在点击刷新按钮时意外地双重发布。