Javascript textbox onchange验证事件阻止单击按钮

Javascript textbox onchange验证事件阻止单击按钮,javascript,vb.net,Javascript,Vb.net,我有一个带有多个文本框的表单。其中一个文本框有我做的验证器。基本上,该验证器继承自CustomValidator类,并使用javascript函数验证文本框的内容 javascript函数非常简单 function myFunction(sender, args) { if (condition) { args.IsValid = true; } else { args.IsValid = false; } } 如果条件为fals

我有一个带有多个文本框的表单。其中一个文本框有我做的验证器。基本上,该验证器继承自CustomValidator类,并使用javascript函数验证文本框的内容

javascript函数非常简单

function myFunction(sender, args) {
    if (condition) {
        args.IsValid = true;
    }
    else {
        args.IsValid = false;
    }
}
如果条件为false,则动态显示错误消息

因此,当我在文本框中输入无效数据时就会出现问题,因为数据无效,消息显示。目前一切正常。但是,当我返回文本框更正数据时,当我单击submit按钮时,它似乎触发了验证器的onchange事件,从而隐藏了错误消息,但没有单击按钮

知道为什么会发生这种情况以及如何解决吗

谢谢你用我在评论中的话回答我的问题

我解决了我的问题。因为我的错误消息是shwon dynamicali,所以当错误消息是shwon/hidden时,提交按钮在我的页面上“移动”。因此,当我点击send按钮时,错误信息会消失,“移动”按钮到我点击的其他地方,这样我就不会真正点击按钮


一些补充信息:验证似乎发生在mouseDown事件上,而按钮单击发生在mouseUp事件上。我通过点击按钮、按住鼠标按钮、指向按钮并释放鼠标按钮来测试,clic工作了。

好吧,这是不必要的。我解决了我的问题。因为我的错误消息是shwon dynamicali,所以当错误消息是shwon/hidden时,提交按钮在我的页面上“移动”。所以,当我点击发送按钮时,错误信息会消失,“移动”按钮到我点击的其他地方,这样我就不会真正点击按钮。ohk…很高兴你找到了解决方案…一些补充信息:似乎验证发生在mouseDown事件上,在mouseUp事件中会出现按钮单击。我通过点击按钮、按住鼠标按钮、指向按钮并释放鼠标按钮来测试,clic工作了。