更新
我刚刚找到了解决方案。以下功能有效(删除其他部分):
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,则在我第一次选择项目后,下拉列表不会导致回发,只有在我第二次选择下拉列表时才会发生回发。
有什么问题?
答案 0 :(得分:13)
调用Page_ClientValidate后,变量Page_BlockSubmit将设置为true,从而阻止autopost返回。由于我仍然不完全理解的原因,Page_BlockSubmit在第二次点击时被重置为false。我正在寻找更多,但我有一个解决方案,我在枪下,所以我正在努力....
如果页面无效,只需在代码块中添加以下代码即可。
Page_BlockSubmit = false;
e.g。
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;
}
答案 1 :(得分:0)
我刚刚找到了解决方案。以下功能有效(删除else部分):
function confirmSubmit() {
if (Page_ClientValidate("Group1")) {
return window.confirm("Are you sure to submit the form?");
}
}