gpt4 book ai didi

asp.net - 下拉列表在 Page_ClientValidate() 之后不回发

转载 作者:行者123 更新时间:2023-12-04 16:56:43 26 4
gpt4 key购买 nike

更新:

我刚刚找到了解决方案。以下函数有效(删除 else 部分):

function confirmSubmit() {
if (Page_ClientValidate("Group1")) {
return window.confirm("Are you sure to submit the form?");
}
}

但我想知道为什么当我添加 else 部分时它不起作用。

问题:

在用户填写表单中的所有数据后,我希望有一个确认对话框。
我在提交按钮中设置了 onclientclick="return confirmSubmit()"。
 function confirmSubmit() {

if (Page_ClientValidate("Group1")) {
return window.confirm("Are you sure to submit the form?");
} else {

return false;
}
}

如果 Page_ClientValidate("Group1") 返回 false,则下拉列表在我第一次选择项目后不会导致回发,并且只有在我第二次选择下拉列表时才会发生回发。

有什么问题?

最佳答案

在调用 Page_ClientValidate 之后,变量 Page_BlockSubmit 被设置为 true,这会阻止自动回发。 Page_BlockSubmit 在第二次点击时被重置为 false,我仍然不完全理解的原因。我正在对此进行更多研究,但我有一个解决方案,而且我在枪下,所以我正在努力......

只需在页面无效时执行的代码块中添加以下代码。

Page_BlockSubmit = false;

例如
function ValidatePage() 
{
flag = true;
if (typeof (Page_ClientValidate) == 'function')
{
Page_ClientValidate();
}

if (!Page_IsValid)
{
alert('All the * marked fields are mandatory.');
flag = false;
Page_BlockSubmit = false;
}
else
{
flag = confirm('Are you sure you have filled the form completely? Click OK to confirm or CANCEL to edit this form.');
}
return flag;
}

关于asp.net - 下拉列表在 Page_ClientValidate() 之后不回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2083929/

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