【问题标题】:How not to refresh a page from JavaScript?如何不从 JavaScript 刷新页面?
【发布时间】:2012-11-27 12:54:45
【问题描述】:

我正在使用asp.Net 开发一个网站,它包含一个从iframe 调用的页面。 这个名为 Districting 的页面在 aspx 页面中有一个 javascript 代码。 我创建了一个函数,在单击“完成”按钮时执行。该函数测试用户提出的条件是否为真。 如果是,则加载另一个页面,如果不是,则会出现警报,但什么也没有发生。 但实际上,正在发生一些事情:页面正在刷新,这不是我想要的。 这是按钮:

<button id="Button1" onclick="testing()">Done</button>

这是功能测试:

function testing() {
    if (conditions are true)
        //Go to another page
    else{
        alert("Wrong decision");
        //Stay in the current page without refreshing it
    }
 }

所以我只需要在点击“完成”按钮时阻止页面刷新。

提前致谢:)

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:

    把你的代码改成

    function testing() {
        if (conditions are true)
            return true;
        else{
            alert("Wrong decision");
            return false;
        }
     }
    

    和你的标签

    <button id="Button1" onclick="return testing()">Done</button>    
    

    另外,请参阅How to confirm navigation for a link in a href tag?,因为它非常相似。

    【讨论】:

    • 非常感谢:) 你真的帮了大忙!
    【解决方案2】:

    按钮是标准的提交按钮,表单中的按钮也是?

    如果是这样,您可以在定义按钮的类型时解决该问题:

    <button type="button" id="Button1" onclick="testing()">Done</button>
    

    【讨论】:

      【解决方案3】:

      触发 onclick 的 javascript 函数需要返回 false。以下应该有效:

      <button id="Button1" onclick="testing(); return false;">Done</button>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 2019-04-05
        • 2012-03-06
        • 1970-01-01
        • 2012-09-18
        相关资源
        最近更新 更多