Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 必需的字段验证器允许onclick函数,即使字段无效_Javascript_Jquery_Asp.net_Validation_Ajaxcontroltoolkit - Fatal编程技术网

Javascript 必需的字段验证器允许onclick函数,即使字段无效

Javascript 必需的字段验证器允许onclick函数,即使字段无效,javascript,jquery,asp.net,validation,ajaxcontroltoolkit,Javascript,Jquery,Asp.net,Validation,Ajaxcontroltoolkit,我在我的页面上要求字段验证器可以工作,但是它们仍然允许按钮调用java脚本函数。例如,我可以添加文本并删除它,验证程序将显示一个错误。如果单击submit按钮,它仍会在onclientclick中执行javascript函数。如何阻止它在onclientclick中执行函数 按钮: <asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" On

我在我的页面上要求字段验证器可以工作,但是它们仍然允许按钮调用java脚本函数。例如,我可以添加文本并删除它,验证程序将显示一个错误。如果单击submit按钮,它仍会在onclientclick中执行javascript函数。如何阻止它在onclientclick中执行函数

按钮:

<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="return sendHPCIMsg();" />

注意:我没有编辑sendHPCIMsg()函数的权限

要验证的字段:

<div class="form-group col-small">
 <label class="col-sm-2 control-label">First Name: </label>
                                            <div class="col-sm-8">
                    <asp:TextBox ID="fNameTxt" runat="server" CssClass="input-small"></asp:TextBox>
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidatorFname" ControlToValidate="fNameTxt" runat="server" ErrorMessage="First name is required" ValidationGroup="billing" ForeColor="Red"></asp:RequiredFieldValidator>
                                            </div>
                                        </div>

名字:
此外,上面的字段位于AJAX可折叠PanelExtender中,因此下面是我用于启用/禁用验证的javascript(基于复选框):


$('SameBillingChkBx').bind('click',函数(e)
{
如果($(this).is(':checked'))
{
$.each(页\验证程序,函数(索引,验证程序){
if(validator.validationGroup==“计费”){
ValidatorEnable(validator,false);
}
});
}
})
添加:
OnClientClick=“if(Page_ClientValidate())CloseDialog();”


添加内部功能

 var val = <%= RequiredFieldValidatorFname.ClientID %>;
  if (val.isvalid == false) {
   //Do something
 }
var=;
如果(val.isvalid==false){
//做点什么
}

这将为下一次单击禁用验证程序

我找到了它。我编写了以下函数:

function submitform()
{
    if (!Page_IsValid) {
        return false;
    }
    return sendHPCIMsg();
}
然后我在我的点击事件中调用了这个

<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="return submitform();" />

谢谢大家的帮助

function submitform()
{
    if (!Page_IsValid) {
        return false;
    }
    return sendHPCIMsg();
}
<asp:Button ID="formPost" text="Submit" class="btn btn-default" runat="server" CausesValidation="true" OnClientClick="return submitform();" />