捕获单击了哪个按钮以进行验证

时间:2009-10-09 14:24:59

标签: asp.net javascript visual-studio ajax validation

是否可以捕获javascript中点击的按钮?我有验证设置,但我只想让它在点击按钮时验证,而不是其他方式。

请注意,我有3个文本框就像下面这样。这是为了将电话号码输入到3个文本框中。

我想做的是放'和'&&'条件是javascript if语句说单击按钮时将args.IsValid设置为false。现在,它在tab键上进行验证,然后单击其他控件。我只想让它在点击提交按钮时验证。

function checkPhNumn(sender, args) {
        alert(window.event);
        if (phnavalue.value != '' || phnevalue.value != '' || phnnvalue.value != '' ) {
            if (phnnvalue.value.length < 4) {
                args.IsValid = false;
            }
            else {
                ValidatorEnable(RFV2, true);
                ValidatorEnable(RFV3, true);
            }
        }
    }

 <ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" 
                            TargetControlID="phnnVal" 
                            HighlightCssClass="validatorCalloutHighlight"
                            ></ajaxToolkit:ValidatorCalloutExtender>

<asp:TextBox ID="witPhnn" runat="server" MaxLength="4" Width="50pt"></asp:TextBox>

                        <asp:CustomValidator ID="phnNumValn" runat="server" 
                            Display="None" 
                            ControlToValidate="witPhnn"
                            ErrorMessage="Please enter a valid phone number." 
                            SetFocusOnError="True"
                            EnableClientScript="true" 
                            ClientValidationFunction="checkPhNumn"
                            ></asp:CustomValidator>

2 个答案:

答案 0 :(得分:1)

您使用的是ASP.NET 2.0吗?

如果是这样,按钮和验证器的属性称为“验证组”。通过为此属性指定名称,验证将仅针对具有匹配验证组值的那些进行验证。

例如,假设您的页面上有两个必填字段验证器,其验证组值分别设置为“group1”和“group2”。稍后您将添加一个按钮控件,并为该控件的Validation Group属性赋值“group1”。

按下该按钮时,实际只会触发“group1”的验证器。

希望这有帮助!

答案 1 :(得分:0)

从CustomValidator中删除ControlToValidate,当您离开文本框时,它将删除对验证功能的调用。使用ValidationGroups或在所有其他按钮上设置CausesValidation = False将阻止它们激活任何验证。

相关问题