特定のリンクの確認としてポップアップする Jquery-Ui ダイアログを作成しました。ただし、これは削除ページに正しくリダイレクトされません。ただし、クロムでデバッガーを開いてデバッグすると、コードは期待どおりに機能します。
同じ質問を見つけましたが、解決策がうまくいかないようです。ただし、まったく同じシナリオです。ここで質問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; も追加してみました。私のリダイレクト後。何も機能しません。
上で同じ質問に追加したリンクは、[はい] ボタンがページ上に ... which mine としてレンダリングされていることを確認するように言いました。
誰でも光を当てることができますか?