我们正在向现有的ASP.NET应用程序引入
JQuery,并使用
JQuery的验证插件进行客户端验证(我们不想使用asp.net验证器).
一切都可以很好地与asp:Button控件.在提交页面之前触发客户端验证.
但是当使用LinkButton和ImageButton控件时,页面将不会首先验证该表单.
这是因为,当ImageButton呈现为Input type =“image”时,验证与按钮作为输入类型=“提交”一起使用.
有谁经历过这个吗
非常感谢您的想法和信息如何解决.
更新:
非常感谢,您的答案有助于确定问题.
事实证明,JQuery的验证插件有一个错误.我们使用补丁来避免隐藏的输入字段的验证,它使用parents().filter(“:hidden”).这在JQuery 1.3.2中无法正常工作.我们用.is(“:visible”)替换它.现在asp.net ImageButton默认工作!
UPDATE2:
LinkButton仍然没有工作.简单的解决方案是添加一个Click函数,如果该表单无效则返回false;
$("#<%= tb.ClientID %>").click(function() { return $('form').valid(); })
解决方法
第一个建议可能仍然有效,因为您可以在验证发生后使用Javascript引发回发.
javascript是:
__doPostBack('<%= YourImageControl.UniqueID %>','');
第二个空参数可以用来传递参数.