我的用户可能会使用IE7,我想避免使用提示功能。我有使用提示的工作代码,但我不确定一个好方法来替换它。
我的使用要求是这个。用户单击图像按钮,然后必须确定/取消提示。如果按下确定,则会请求一个引用,该引用被分配给RemovePalletReference,以便在后面的代码中使用。
<asp:imagebutton id="ibRemoveFromPallet" runat="server" ImageUrl="../Images/Icons/removefrompallet.gif" OnClientClick="return ConfirmReroute();"></asp:imagebutton>
<asp:HiddenField ID="RemovePalletReference" runat="server" value="" ></asp:HiddenField>
你可以看到我首先调用ConfirmReroute(),它是以下js函数。
function ConfirmReroute()
{
if (confirm("Confirm Remove Unit From Pallet") == true)
{
var pmt;
do {
pmt = prompt("Please Enter a Reference:", "");
}
while ( pmt == null || pmt.length < 1);
document.getElementById('<%= RemovePalletReference.ClientID %>').value = pmt;
return true;
}
else
return false;
}
我希望将用户按下OK的代码替换为confirm
。我尝试使用jquery UI模式对话框,但无法解决它。我认为使用回调可能是可行的,但这对我来说是一个新的主题,我正在努力。
请在答案中显示一些代码来帮助我。感谢任何帮助。
答案 0 :(得分:0)
实施例
function confirmDialog(title, message, confirm, reject) {
var dialog = $('<div />').html(message).dialog({
appendTo: 'body',
title: title,
modal: true,
buttons: {
"OK": function () {
$(this).dialog("close");
confirm();
},
"cancel": function () {
$(this).dialog("close");
if ($.isFunction(reject)) {
reject();
}
}
},
close: function (event, ui) {
$(this).dialog('destroy');
$(this).remove()
}
})
}
function test(notes) {
confirmDialog('Confirm', 'Confirm Something', function () {
console.log('ok');
//what ever you want to do on confirmation has to go here
}, function () {
console.log('cancelled')
});
//any code added here will get executed before the confirm box is displayed
}
演示:Fiddle