0

我正在做一个脏表格检查。这样做时,如果表单值发生变化,我会向用户显示一个提示,询问他/她是否要继续。如果是,我想导航到点击链接的 url。我的问题是我无法保留网址。

$("a").click(function (e) {
        url = $(this).attr('href');
        if(str != $("form").serialize()){
            $('#prompt').show();
            e.preventDefault();
        }
    });

我正在使用引导对话框显示表单已更改的消息。现在如果用户仍然想离开页面,我如何跟踪我需要转发的 url。

<div class="modal-footer">  
            <a id="hide" class="btn">Stay on Page</a>
            <a id="navigate" class="btn" href="#">Leave Page</a>  
        </div>

$('#navigate').click(function () {
        console.log(url)
    });

当我关闭对话框时,我需要一种方法来保留 url 的值。

4

1 回答 1

0

这可能与url定义的位置有关。我做了一个快速的 js fiddle,它显示了它的两个示例工作和不工作,具体取决于定义 url 的位置http://jsfiddle.net/zdgNS/4/

这个 javascript 应该像我的例子所示的那样工作:

(function() {
     var url;
    $('#link').click(function() {
        url = $(this).attr("href");
        return false;
    });

    $('#button').click(function() {
        console.log(url);
    });
})();

如果您想了解更多关于 javascript 变量作用域的信息,请阅读这个问题:JavaScript中变量的作用域是什么?

于 2013-04-17T05:17:04.987 回答