我们正在将 JQuery 引入现有的 ASP.NET 应用程序,并使用 JQuery 的验证插件 进行客户端验证(我们不想使用 asp.net 验证器)。
对于 asp:Button 控件,一切都很好。在提交页面之前,会触发客户端验证。
但是,当使用 LinkButton 和 ImageButton 控件时,在未验证表单的情况下提交页面。
这是由于 validate 与呈现为 Input type="submit" 的按钮一起工作,而 ImageButton 呈现为 Input type="image"。
还有其他人遇到过这个问题吗?
感谢您提供解决方案和信息。
对于 asp:Button 控件,一切都很好。在提交页面之前,会触发客户端验证。
但是,当使用 LinkButton 和 ImageButton 控件时,在未验证表单的情况下提交页面。
这是由于 validate 与呈现为 Input type="submit" 的按钮一起工作,而 ImageButton 呈现为 Input type="image"。
还有其他人遇到过这个问题吗?
感谢您提供解决方案和信息。
更新:
非常感谢,你们的答案帮助我们识别了问题。结果发现 JQuery 的验证插件存在一个错误。我们使用了一个补丁来避免隐藏输入字段的验证,该补丁使用了parents().filter(":hidden")。这在 JQuery 1.3.2 中无法正常工作。我们将其替换为 .is(":visible")。现在 asp.net ImageButton 默认可以使用了!更新2:
LinkButton 仍然无法正常工作。简单的解决方法是添加一个点击函数,如果表单无效,则返回 false:$("#<%= tb.ClientID %>").click(function() {
return $('form').valid();
})