使用asp.net的jqueryvalidation器
我需要了解如何通过jquery获取对象asp的访问权限,因为我有一个文件,它在我的aspx后面的代码页面加载中注册,脚本需要进行validation,我在不同的网站上读到我可以用这个但不起作用我会放我的代码,任何人都可以帮助我。 谢谢
在脚本文件中触发validation此方法的按钮
js
$(".btnOk").click(validateData); function validateData() { $("form").validate({ rules: { '': "required" } }); }
我的代码在我注册脚本的地方
ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", " "); ClientScript.RegisterClientScriptBlock(this.GetType(), "Validator", " ");
UPDATE
这是我需要validation的文本输入
使用''
和也无法使用
'.txtLayerName'
更新2
这是asp的渲染名称
jquery使用html输入的NAME属性validation,而不是ID。 因为我使用了webforms,所以我已经有一段时间了,所以我不知道名字和id是否匹配。 但它可能值得研究。
编辑:我已经添加了validation,并取得了巨大的成功,如下所示:
$(function(){ $("form").validate(); $('.txtLayerName').each(function () { //add the required validator to these! $(this).rules('add', {required: true}); }); });
我想你想要:
'<%= txtLayerName.ClientID %>': "required"
另外,请记住,您可以使用CSS类而不是像这样定义规则,这样更容易一些。 例如:
我使用jQuery的“ends with”选择器运气好,因为控件的服务器端ID始终是客户端ID字符串的最后一位。
例如,您的按钮的客户端ID可能类似于“ctl00 $ foo $ bar $ btnOk”,那么您的jQuery将是:
$("[id$=btnOk]").click(validateData);
那么你可以用TextBox做同样的事情。
rules: { $("[id$=txtLayerName]").attr("id") : "required" }
更新:
试试这个:
rules = {}; rules[$("[id$=txtLayerName]").attr("id")] = "required";
因为对象本质上只是对元素具有直接命名访问权的数组,所以您可以创建一个数组并像对象一样使用它。
这确实有效,因为我正在使用它,虽然我猜想'<%=txtName.UniqueID %>'
不需要''
‘的工作……
如果您使用的是.NET 4并且clientIDMode = Static
,那么您也可以使用以下脚本并像往常一样使用这些名称。
$("#aspForm input:not(:hidden)").each(function () { var i = $(this).get(0); i.name = i.id; });
- 部分回发后,更新面板中的Javascript不起作用
- 为什么这个非常简单的JQuery不起作用?
- 如何通过jQuery填充Label.Text – 属性
- 动态添加单击事件到复选框,仅适用于第一个复选框JQUERY
- jQuery.change + inline onchange fn()导致fn执行两次
- 如何防止HTML.ActionLink上的默认?
- 在CORS环境中jQuery AJAX调用之间的ASPNET会话
- 使用JavaScript以编程方式触发ASP.net CascadingDropDown的更改事件的正确方法
- Asp .NET Button – OnClientClick =“return function()”vs OnClientClick =“function()”