【发布时间】:2017-12-07 10:36:34
【问题描述】:
我正在使用带有 confirm() 消息框的 Javascript 函数,并且如果我在确认消息框上按取消但 ValidatorGroup 为真,那么它也不会阻止请求回发。
我想以这样一种方式实现,如果验证器组是 treu 但函数返回 false 那么请求不应该被回发
这是我的代码:-
<asp:Button ID="btnStaffSendRequest" runat="server" Text="Send" OnClientClick="UploadRefrrel()"
UseSubmitBehavior="false" ValidationGroup="SaveRequestGroup" OnClick="btnStaffSendRequest_OnClick"
TabIndex="1000" />
这是我的 Javascript 函数:-
<script language="javascript" type="text/javascript">
function UploadRefrrel() {
var hiddenFile = this.document.getElementById("<%= hfInputForm.ClientID %>");
var upload = $find("<%= radUploadFiles.ClientID %>");
var inputs = upload.getUploadedFiles();
var retVal;
if (hiddenFile != null && hiddenFile.value != "" && inputs.length == 0) {
retVal = confirm("FYI - Only 'Referral Form' is attached. Do you want to proceed without any other attachment?");
}
return retVal;
}
</script>
【问题讨论】:
-
初始设置
var retVal =false; -
不,它不起作用我在我的
ValidateGroup中有近 20 个控件,即SaveRequestGroup,如果我填写了所有这些控件,那么 ValidateGroup 为真,但在按钮单击时我检查了条件,如果选择取消如果我的 ValidateGroup 为 true 但 Javascript 函数返回 false 然后停止请求以获取回发,那么请求仍在回发有什么办法吗 -
这个灵魂可能不是最终的解决方案,但它有效,因为我们想出了这样的情况: Sol:创建一个隐藏变量并尝试在 OnCLientClick 中调用 javascript 函数,如果你的 JS vaslidation 是
true,将该隐藏变量设置为true并检查代码后面的状态以及您的validationfroup状态.. -
System.Web.HttpException 在尝试验证 HiddenField 时发生
标签: javascript asp.net validation confirm requiredfieldvalidator