gpt4 book ai didi

javascript - 确认 asp.net 按钮后触发回发警报

转载 作者:行者123 更新时间:2023-12-02 21:56:41 24 4
gpt4 key购买 nike

我的 asp.net 应用程序中的 javascript 警报有一些奇怪的事情。我有需要从数据库中删除用户的按钮。但用户可以有文件,也可以有保险单。
因此,如果用户有任何文档或政策,我想触发 javascript 警报。该警报将显示“您需要删除文档和/或策略。但是如果用户没有任何文档和/或策略,则需要触发确认框,您需要在其中选择是否要删除。
所以我的 .aspx 代码如下所示

<asp:Button ID="btnDelete" class="btn btn-danger" runat="server" Text="Izbriši" OnClick="btnDelete_Click" 
onClientClick="check()">
</asp:Button>

和函数 check()

function check() {
var totalRows = $("#<%=gvDocuments.ClientID %> tr").length-1;
var totalRows1 = $("#<%=gvPolice.ClientID %> tr").length-1;
if (totalRows > 0 || totalRows1 > 0) {
alert('Izbrišite ' + totalRows + ' dokumenta i ' + totalRows1 + ' polica klijenta prije nego ga možete izbrisati!');
//Here I check and count is there any documents or policies
return false;
}
else {
var r = confirm('Jeste li sigurni da želite izbrisati klijenta?')
if (r == true) {
return true;
}
else {
return false;
}
}
}

所以我的确认 block 正在运行。您按确定并删除,或取消并返回 false。
但我不知道当用户按 alert 上的“确定”时,他会触发回发并删除用户,以便文档和所有内容保持事件状态,或者据我所知返回 true?谢谢你,问候

最佳答案

检查浏览器中的按钮,您将看到 Asp.net 将在您的 onclientclick 代码之后立即执行其 doPostback javascript(在线或在表单提交上)!

所以你的函数调用将返回 true/false,那么 doPostback 无论如何都会执行。

您需要做的是像这样处理内联函数的返回:

onClientClick="if(check() === false){return false;}"

只有在这里返回 false,你才会中断 javascript,并且回发不会触发:)

关于javascript - 确认 asp.net 按钮后触发回发警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59986402/

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