【问题标题】:HTML - How to hide postbacks?HTML - 如何隐藏回发?
【发布时间】:2010-03-30 16:18:25
【问题描述】:

有人可以告诉我按下按钮时用于“隐藏”回发的技术吗?

【问题讨论】:

  • 请用您自己的话定义“回发”。
  • 看起来 OP 正在寻找 ajax - 不过不确定。您能否举一个(特定的)站点的示例,该站点可以满足您的需求?或者只是描述一下?

标签: html postback


【解决方案1】:

如果您想阻止页面刷新,您可以使用 Ajax Control Toolkit 中的 UpdatePanel。这可以让您只刷新页面的一部分,并且仅通过查看是无法判断的。

【讨论】:

  • 注意,这是 .NET 特定的解决方案,而不是通用的解决方案。
【解决方案2】:

Ajax 可能是您真正想要的解决方案,但是对于您想要做的事情有一个快速而肮脏的解决方案(如果我对您的理解正确的话)。你可以在你的 html 中放置一个隐藏的 iframe 并命名,比如说:

<iframe name='hidden-result'...

您可以将要提交的表单的目标设置为转到 iframe,例如:

<form target='hidden-result'... 

只要确保隐藏 iframe,没有人会更聪明。当然,如果你真的想对响应做点什么,那就有点棘手了;)

【讨论】:

    【解决方案3】:

    实际上,我发现在 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

    【讨论】:

      【解决方案4】:

      目前尚不清楚您到底在问什么,因为“回发”一词在您的问题上下文中放错了位置。这也是为什么我在评论中要求用你自己的话详细说明一下。

      毕竟,我怀疑您只是想在按下按钮并执行附加到事件的一些 JavaScript 代码时阻止按钮的默认操作(提交表单)。如果这是真的,那么您需要做的就是让事件return false

      基本启动示例:

      <input type="submit" value="submit" onclick="doStuff(); return false;">
      

      或者如果doStuff() 本身已经返回truefalse,例如validateForm(this)左右,这样你就可以决定是否继续表单提交,然后这样做:

      <input type="submit" value="submit" onclick="return doStuff();">
      

      为了更干净、更隐蔽地处理这个问题,我建议看看jQuery

      【讨论】:

        【解决方案5】:

        根据您所说的“隐藏回发”的含义,Post-redirect-get 是一种可以解决您的问题的常见模式。

        基本思想是在处理完每个 POST 后进行重定向,以便客户端仅接收由 GET 命令生成的页面。除此之外,这可以防止客户在点击刷新按钮时意外重复发布。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-03
          • 1970-01-01
          • 2020-05-06
          • 1970-01-01
          • 2013-04-02
          • 2018-03-21
          相关资源
          最近更新 更多