是否可以捕获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>
答案 0 :(得分:1)
您使用的是ASP.NET 2.0吗?
如果是这样,按钮和验证器的属性称为“验证组”。通过为此属性指定名称,验证将仅针对具有匹配验证组值的那些进行验证。
例如,假设您的页面上有两个必填字段验证器,其验证组值分别设置为“group1”和“group2”。稍后您将添加一个按钮控件,并为该控件的Validation Group属性赋值“group1”。
按下该按钮时,实际只会触发“group1”的验证器。
希望这有帮助!
答案 1 :(得分:0)
从CustomValidator中删除ControlToValidate,当您离开文本框时,它将删除对验证功能的调用。使用ValidationGroups或在所有其他按钮上设置CausesValidation = False将阻止它们激活任何验证。