gpt4 book ai didi

javascript - 在 ASP.NET 页面上使用 jQuery 进行用户确认

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:04 24 4
gpt4 key购买 nike

我似乎陷入了死胡同,想要仔细检查以确保我没有忽略某些内容。在 <asp:ImageButton>我正在使用 OnClientClick event

(e.g., OnClientClick="return ClientSideChecks('Delete')")

获得用户对操作的确认,如果他/她犯了错误,将会导致问题。现在调用的 JavaScript 根据用户在 window.confirm 对话框上的响应返回 true 或 false;这工作正常。但是,我希望用更具吸引力和用户友好的 jQuery UI 对话框替换笨重的 window.confirm 对话框。这就是问题出现的地方,因为(基于大量的研究和测试)似乎没有办法做到这一点(除了 window.alert)并在 Javascript 或 jQuery 中返回 true 或 false;我多次看到 JavaScript 是异步的,因此处理不会停止并等待 jQuery UI 确认对话框的响应。明显的解决方案是将所有必需的下游处理附加到附加到对话框上的按钮的回调函数,但我现在不能随意更改页面工作方式的基本结构;我只需要从 OnClientClick 事件调用的 JavaScript 函数中获取 true 或 false 返回值。除了使用 window.alert 之外,确实没有其他方法可以做到这一点吗?预先感谢您的任何帮助。

最佳答案

感谢 Jon P 的帮助,以下是我的工作内容。

.aspx

<asp:ImageButton id="imgButton" runat="server" OnClientClick=" showConfirm('imgButton'); return false;" >
<div id="dialog-confirm" title="Empty the recycle bin?">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:12px 12px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>

JavaScript

function showConfirm(source) {
$("#dialog-confirm").dialog({
resizable: false,
height: "auto",
width: 400,
modal: true,
buttons: {
"Delete all items": function () {
//this performs the postback
__doPostBack(source, '');
//close the dialog
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
}

.aspx.cs(在Page_Load()的回发部分)

if (Request.Form["__EVENTTARGET"] == "imgButton")
{
imgButton_Click(this, new EventArgs());
}

如果没有在 showConfirm() 中嵌入 $("#dialog-confirm").dialog({...}),我无法显示对话框。

此外,如果不将源代码控制的文字 ID 传递给 showConfirm(),正确的值不会传输到 __EVENTTARGET。

再次非常感谢 Jon P。

关于javascript - 在 ASP.NET 页面上使用 jQuery 进行用户确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40898209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com