ここには他にも多くの同様の質問があることは知っていますが、どれも私の問題を解決していません。
テキストエリアに入力したテキストを失うか、ページにとどまるかをユーザーに選択させるダイアログボックスを作成しようとしています。
他の多くの回答では、JQuery への参照の繰り返しを確認するように指示されているため、すべての参照を削除し、_Layout.cshtml ページの上部に次のコードを追加しました。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
他の回答では、UI の関連部分が含まれているかどうかも確認されています。上記の参照にはすべてが含まれていると思いますか?
したがって、関連するページの下部にある私のスクリプトと div を次に示します (ダイアログの作成方法に関する別の回答から div とスクリプトを取得しました)。問題が発生した場合に備えて、他のスクリプトを含めました。
<div id="dialog" title="Confirmation Required">
Are you sure about this?
</div>
<script type="text/javascript">
$(document).ready(function ()
{
$("#dialog").dialog({
modal: true,
bgiframe: true,
width: 500,
height: 200,
autoOpen: false
});
$("a.profile").click(function (e) {
e.preventDefault();
var hrefAttribute = $(this).attr("href");
$("#dialog").dialog('option', 'buttons', {
"Confirm": function () {
window.location.href = hrefAttribute;
},
"Cancel": function () {
$(this).dialog("close");
}
});
$("#dialog").dialog("open");
});
$('a.ico').click(function (event) {
expandTextArea();
});
$('textarea#notes').blur(function () {
expandTextArea();
});
});
function expandTextArea()
{
$("textarea#notes").height($("textarea#notes")[0].scrollHeight);
}
</script>
誰かが何が間違っているかを指摘したり、確認ダイアログを作成するためのより良い解決策を教えてくれたりすると、非常にありがたいです.
前もって感謝します。
添加:
これは、Chrome のコンソールに表示されるエラーです。
Uncaught TypeError: Object [object Object] has no method 'dialog' person:403
(anonymous function) person:403
c jquery.min.js:4
p.fireWith jquery.min.js:4
x.extend.ready jquery.min.js:4
q jquery.min.js:4
Person は、jquery を含むページ index.cshtml の部分ページです。
@Html.Partial("_Person", Model.Person);