ASP.NET C# 응용 프로그램에서 간단한 jquery-ui 모달 대화 상자를 삭제 확인으로 사용하려고합니다. 전에 여러 번 해본 적이 있지만,이 응용 프로그램에서 어떤 이유로 인해 오작동합니다. 대화 상자가 나타나면 "Yes"또는 "No"를 클릭하기 전에 즉시 사라집니다. 내가 (AN 컨트롤의 OnClientClick에서) 확인 기능을 사용하고 여기 어디에jquery-ui 모달 대화 상자가 열리는 즉시 사라지는 이유는 무엇입니까?
<script type="text/javascript" src="/resources/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="/resources/jquery-ui-1.9.1.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="/resources/ui-lightness/jquery-ui-1.9.1.custom.css" />
<script type="text/javascript">
var remConfirmed = false;
function ConfirmRemoveDialog(obj, title, dialogText) {
if (!remConfirmed) {
//add the dialog div to the page
$('body').append(String.Format("<div id='confirmRemoveDialog' title='{0}'><p>{1}</p></div>", title, dialogText));
//create the dialog
$('#confirmRemoveDialog').dialog({
modal: true,
resizable: false,
draggable: false,
close: function(event, ui) {
$('body').find('#confirmRemoveDialog').remove();
},
buttons:
{
'Yes, remove it': function() {
$(this).dialog('close');
remConfirmed = true;
if (obj) obj.click();
},
'No, keep it': function() {
$(this).dialog('close');
}
}
});
}
return remConfirmed;
}
//String.Format function (since Javascript doesn't have one built-in
String.Format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
</script>
것 : 여기에 관련 코드 (자바 스크립트)의
<asp:Button ID="btnRemoveProgram" runat="server" Text="Remove" CausesValidation="false" OnClientClick="ConfirmRemoveDialog(this, 'Please confirm removal', 'Are you sure you wish to remove the selected Program? This cannot be undone.');" />
내가, 내가 성공적으로 사용했습니다 말했듯 여러 번 전에이 동일한 구조 (거의 동일한 코드); 왜 지금 작동하지 않는지 나는 모른다. 어떤 아이디어라도 대단히 감사하겠습니다. 저는 정말이 문제에 난처합니다.
콘솔에 아무것도 나타나지 않습니다. – timbck2
그것은 나를 위해 작동합니다 : http://jsfiddle.net/MjYtQ/ 어쩌면 당신은'false'를 반복해야합니다'>'OnClientClick = "return ConfirmRemoveDialog (t ...' –