【问题标题】:Redirecting on confirm true重定向确认为真
【发布时间】:2012-06-02 13:47:39
【问题描述】:

我想让用户点击一个链接,他们会得到一个确认框。如果他们点击 OK,他们会被发送到一个新的 php 函数。

我试过了:

function confirmReset() {
 var r = confirm('Are you sure?');
 var url = window.location.pathname;
 var pathArray = url.split('/');
 var host = pathArray[1];
 var newHost = '/headquarters/designReset';

 if (r == true) {
    window.location = host + newHost;
    //document.location.href = '/headquarters/designReset';
 } else {
    alert('it didnt work');
 }
 return false;
}​

Firebug 错误说:

语法错误:非法字符
}​

表示 ​ 在函数末尾的 } 之后。我从外部获取此脚本,因此如果您发布答案,请确保它在外部有效。不只是在 html 文件本身。我有没有答案。谢谢!

【问题讨论】:

    标签: javascript jquery confirm


    【解决方案1】:

    没有string 方法。它给出了一个错误。还可以考虑将return false 添加到您的函数中,以防止默认链接操作。

    HTML:

    <a href="#" onclick="return confirmReset();">Test</a>​
    

    JavaScript:

    function confirmReset() {
        var r = confirm('Are you sure?');
        var url = window.location.pathname;
        var pathArray = url.split('/');        // <-- no need in "string()"
        var host = pathArray[1];
        var newHost = '/headquarters/designReset';
    
        if (r == true) {
            window.location = host + newHost;
            //document.location.href = '/headquarters/designReset';
        } else {
            alert('it didnt work');
        }
        return false;                          // <-- add this line
    }​
    

    演示: http://jsfiddle.net/xKhaq/

    【讨论】:

    • 现在,当我单击链接时,什么也没有发生。你应该知道我是在外部获取 js,而不是在 html 文件本身。
    • @DylanButh 您在控制台中遇到什么错误?你检查过演示吗?它对你有用吗?
    • @DylanButh 似乎在代码中的某个括号 } 之后,您有不可见的符号会破坏脚本。找到并删除该符号,代码将起作用。
    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 2018-05-18
    • 2018-04-19
    • 2019-07-02
    • 2021-06-02
    • 1970-01-01
    相关资源
    最近更新 更多