gpt4 book ai didi

javascript - 验证摘要消息弹出两次

转载 作者:行者123 更新时间:2023-12-02 20:17:31 25 4
gpt4 key购买 nike

我的页面中有验证控件,并且我正在使用验证摘要消息框来显示验证消息,下面显示的 javascript 函数对我有用,但问题是我在按钮的 OnClientClick 事件上以及何时使用此 javascript 函数我单击表单控件未填充的按钮,它按预期显示验证摘要消息框,但是当我关闭摘要框时,它会再次显示,我需要关闭消息框才能消失,这意味着我每次都必须单击两次。有人可以纠正我我做错了什么吗?

这就是我正在做的事情:-

 <asp:Button ID="SubmitButtonOne" runat="server" Text="Submit" OnClick="SubmitButtonOne_Click"
ValidationGroup="Cases" ClientIDMode="Static" OnClientClick="PleaseWaitShow()" />

这是 JavaScript 函数:

function PleaseWaitShow() {
var isPageValid = true;
// Do nothing if client validation is not active
if (typeof (Page_Validators) != "undefined") {
if (typeof (Page_ClientValidate) == 'function') {
isPageValid = Page_ClientValidate();
}
}
if (isPageValid) {

document.getElementById('SubmitButtonOne').value = "Processing...";
}

}

后台代码:

protected void SubmitButtonOne_Click(object sender, EventArgs e)
{
try
{
// some functionality

}

catch (Exception)
{
//show errror message
}

}

最佳答案

这是预期的行为。

一旦 Page_ClientValidate 由于您在 PleaseWaitShow 方法内的显式调用而被触发,第二次是通过单击 PostBack 按钮进行隐式调用。

因此您会看到两次 ValidationSummary 消息框。

我没有解决方案来规避此问题,但如果出现问题,我会更新。

注意:我想指出的一件事是,由于您的提交按钮上有ValidationGroup="Cases",因此您应该将其传递给 Page_ClientValidate 方法。

更新 1:我能想到的一种方法是尝试这样的事情:

1:OnClientClick="return PleaseWaitShow();"

2:从 PleaseWaitShow() 返回 isPageValid:

function PleaseWaitShow() {
var isPageValid = true;
....
....
....
return isPageValid;
}

关于javascript - 验证摘要消息弹出两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048936/

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