ASP.NET LinkBut​​ton / ImageButton和JQueryvalidation?

我们将JQuery引入现有的ASP.NET应用程序,并使用JQuery的Validate插件进行客户端validation(我们不想使用asp.netvalidation器)。

一切都与asp:Button控件很好地配合。 在提交页面之前触发客户端validation。

但是,当使用LinkBut​​tonImageButton控件时,页面将被提交而不首先validation表单。

这是因为validation适用于呈现为输入类型=“提交”的按钮,而ImageButton呈现为输入类型=“图像”

有人经历过这个吗?

非常感谢您的想法和信息如何解决。

更新:

非常感谢,您的回答有助于确定问题。 事实certificate,JQuery的validate插件中存在一个错误。 我们使用补丁来避免validation隐藏的输入字段,它使用parents()。filter(“:hidden”) 。 这在JQuery 1.3.2中无法正常工作。 我们用.is(“:visible”)替换它。 现在asp.net ImageButton默认工作!

UPDATE2:

LinkBut​​ton仍然无法正常工作。 简单的解决方案是添加一个click函数,如果表单无效,则返回false:

$("#").click(function() { return $('form').valid(); }) 

第一个建议可能仍然有效,因为您可以在validation发生后使用Javascript触发回发。

javascript是:

 __doPostBack('<%= YourImageControl.UniqueID %>',''); 

第二个空参数可用于传递参数。

不确定这是否会有所帮助,但请试一试……

http://docs.jquery.com/Plugins/Validation/validate#options

 $("input[type=image]").click(function() { $($(this).parents(form)).validate(); }); 

您可能需要将“表单”替换为更具体的内容,但我尝试尽可能准确地获取它,而不知道页面上的所有内容是如何布局的。 如果这有帮助请回复!