0

我有一个链接,单击该链接会打开一个对话框,当单击对话框中的 CONFIRM 按钮时,需要通过带有一些变量的 GET 操作将用户发送到特定的 URL(原始链接)。显然,如果单击 CANCEL,则链接单击操作无效。

不太清楚如何把这一切放在一起。这是我到目前为止所做的。

JS

$("#doSomething").click(function(){
        $("#myConfirm").dialog({
            resizable: false,
            height:140,
            modal: true,
            buttons: {
                "Continue": function() {
                    $(this).dialog("close");
                    // go to url...
                },
                Cancel: function() {
                    $(this).dialog("close");
                }
            }
        });
    });

HTML

<a href="page.php?var=1" id="doSomething">Link</a>
4

2 回答 2

1

试试这个(在你的继续按钮的处理程序内):

window.location = "page.php?var=1";

编辑1:完整的代码。

$("#doSomething").click(function(){
    $("#myConfirm").dialog({
        resizable: false,
        height: 140,
        modal: true,
        buttons: {
            "Continue": function() {
                window.location = "page.php?var=1"; // you can create the URL as you like...
            },
            "Cancel": function() {
                $(this).dialog("close");
            }
        }
    });
});

编辑2:点击链接完成代码。

HTML:

<a id="myHyperlink" href="#">Link</a>

JavaScript:

$("#myHyperlink").click(function(){
    $("#myConfirm").dialog({
        resizable: false,
        height: 140,
        modal: true,
        buttons: {
            "Continue": function() {
                window.location = "page.php?var=1"; // you can create the URL as you like...
            },
            "Cancel": function() {
                $(this).dialog("close");
            }
        }
    });
});
于 2012-07-16T05:42:31.347 回答
-1

在 // go to url 添加一个 ajax 调用。

$.ajax({
         url: yourUrl,
         beforeSend: function() {
              // do something like show a loading image
         },
         success: function() {
              // do something like hide the loading image
         },
         error: function() {
              // do something like hide a loading image and alert error message
         }
});
于 2012-07-16T06:12:18.647 回答