我已经编写了一个 Jquery-Ui 对话框来弹出作为对特定链接的确认。但是,这不会正确重定向到我的删除页面。但是,如果我在 chrome 中打开调试器进行调试,那么代码会按预期工作。
我发现了同样的问题,但是该解决方案似乎对我不起作用。这是完全相同的场景。此处的问题JavaScript 重定向不起作用,并且仅在打开调试器时才在 Chrome 中起作用
所以我有我的链接
<div id="confirm-dialog">
<div class="dialog-inner">
<p id="confirm-dialog-message"></p>
</div>
</div>
<a href="/Customer/Delete/73865878346587" class="confirmLink" title="Delete Customer" data-confirm-message="Are you sure you want to delete this customer?">Delete</a>
我有我的 javascript
$('.confirmLink').click(function (e) {
BodyScrolling(false);
var theHref = $(this).attr("href");
var theTitle = $(this).attr("title") == null ? "Confirm..." : $(this).attr("title");
var theText = $(this).attr("data-confirm-message") == null ? "Are you sure?" : $(this).attr("data-confirm-message");
$("#confirm-dialog-message").html(theText);
$("#confirm-dialog").parent().css({ position: "fixed" }).end().dialog("open");
$("#confirm-dialog").dialog({
title: theTitle,
close: function() {
BodyScrolling(true);
},
buttons: [
{
text: "Yes",
class: "mws-button red",
click: function () {
$("#confirm-dialog").dialog("close");
window.location.href = theHref;
return false;
}
},
{
text: "No",
class: "mws-button black",
click: function () {
$("#confirm-dialog").dialog("close");
}
}]
});
return false;
});
因此,当我单击“删除”链接时,确实会看到带有“是”和“否”按钮的确认对话框,CSS 样式正确,并已捕获链接 href 并将其绑定到“是”按钮。如果我点击“否”,我会被踢回来,不会再发生任何事情 - 正确!
如果我单击是,它应该将我发送到它捕获的原始 href。我在重定向之前的“是”按钮单击上引发了警报(theHref),它确实向我显示了正确的地址(/Customer/Delete/73865878346587),但没有发生重定向。
当我打开 chrome 调试器来调试 javascript 或查看是否发生任何错误时,一切都按预期工作并正确重定向我!
在 IE 中,它也不起作用。
我试过了...
window.location.href = theHref
window.location = theHref
location.href = theHref
$(location).attr('href', theHref)
我也尝试过添加 return false; 在我重定向之后。没有任何效果。
我在上面添加到同一个问题的链接说要确保“是”按钮在页面上呈现为 ... 我的是。
任何人都可以解释一下吗?