ここでjQueryの初心者。このサイトで数十の同様の質問と、これまでに提供された回答をすべて調べましたが、ほとんど同じ回答があり、すべてを試しましたが、何もうまくいきません.
私の .aspx の Javascript コードについては、現在次のものがあります。
<script type="text/javascript" src="/resources/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/resources/jquery-ui-1.8.20.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="/resources/ui-lightness/jquery-ui-1.8.20.custom.css" />
<script language="javascript" type="text/javascript">
$(function() {
var $myDialog = $("#cancelDialog").dialog({
autoOpen: false,
modal: true,
buttons: {
'Yes, cancel': function() {
$(this).dialog('close');
return true;
},
'No, resume editing': function() {
$(this).dialog('close');
return false;
}
}
});
$("[id$=btnCancel]").click(function(e) {
//e.preventDefault();
alert('boo');
//$myDialog.dialog('open');
});
});
</script>
「btnCancel」のマークアップは次のようになります。「onClientClick」属性がないことに注意してください。これは、jQuery が自動的に実行することになっているためです。
<asp:Button ID="btnCancel" CssClass="btnCancel" runat="server" Text="Cancel"
CausesValidation="false" UseSubmitBehavior="false" />
そして、これがキャンセルダイアログ用のマークアップです。
<div id="cancelDialog" style="display: none;" title="Please confirm cancellation">
<p>Are you sure you wish to cancel and abandon your changes?</p>
</div>
私が見たすべての例 (およびここで提供されている回答) によると、これにより、2 つのボタンを備えた jQuery UI ポップアップが表示され、機能するはずです。キャンセル ボタンを押すと、ページがポスト バックしなくなりました (Patrick Scott の提案で行った変更のため)。これには標準の Javascript confirm() ダイアログを使用することもできますが、プロンプト/スタイリングをカスタマイズできるようにしたいと考えています。
他に考えられる唯一の情報は、このコードが ASP.NET ウィザード コントロール上にある (キャンセル ボタンが StepNavigationTemplate にある) ことですが、それは問題ではありません。
これを機能させるために何を変更する必要があるかについてのヒントは大歓迎です!
(私が行った最近の変更を反映するために質問とコードが更新されました)