Я пытаюсь использовать диалоговое окно подтверждения из jQuery UI .
Я столкнулся с этой проблемой: как правильно запустить диалоговое окно и одновременно предотвратить событие запуска OnClick, указанное в кнопке, до тех пор, пока пользователь не нажмет кнопку «Да» или «Нет» в диалоговом окне?
В приведенном ниже примере есть два способа всплывающего подтверждения. Нижний
работает хорошо. Это классический диалог подтверждения JavaScript. Когда я пытаюсь использовать диалоговое окно jQuery UI, оно отображает диалоговое окно, но позволяет ему запускать событие, назначенное на OnClick (здесь с помощью Command, но я полагаю, что нет никакой разницы. Надеюсь, я не ошибаюсь.). Часть взята из элемента управления ASP.NET Repeater кстати.
<li>
<asp:LinkButton ID="lbtnRenew" runat="server" Text="Renew" CssClass="ContextMenuItem"
CommandName="Renew" CommandArgument="<%# Container.ItemIndex %>"
OnClientClick="javascript: openModalDiv('dialogRenew');" /></li>
<li>
<asp:LinkButton ID="lbtnRemove" runat="server" Text="Remove" CssClass="ContextMenuItem"
CommandName="Remove" CommandArgument="<%# Container.ItemIndex %>"
OnClientClick="return confirm('Are you sure that you want to delete package?');" /></li>
Это JavaScript, который я использовал до сих пор:
function openModalDiv(divname) {
$('#' + divname).dialog({
bgiframe: true,
resizable: false,
modal: true,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
Ok: function() {
$(this).dialog('close');return true;
},
Cancel: function() {
$(this).dialog('close');return false;
}
}
});
}
Я что-то упустил, но не знаю что. Как мне решить эту проблему?
Спасибо за любой совет.
P.S. если вам нужно добавить дополнительную информацию, дайте мне знать.