0

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

javascript函数很简单

function myFunction(sender, args) {
    if (condition) {
        args.IsValid = true;
    }
    else {
        args.IsValid = false;
    }
}

如果条件为假,则动态显示错误消息。

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

关于为什么会发生这种情况以及如何解决它的任何想法?

谢谢

4

1 回答 1

0

用我在评论中所说的回答问题

我解决了我的问题。问题是,由于我的错误消息是动态显示的,所以当错误消息显示/隐藏时,提交按钮会在我的页面上“移动”。所以,当我点击发送按钮时,错误消息会消失,将按钮“移动”到我点击的其他地方,这样我就不会真正点击按钮。

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

于 2012-10-16T18:42:38.430 回答