首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有asp.net的jquery验证器

问带有asp.net的jquery验证器
EN

Stack Overflow用户
提问于 2011-05-25 20:39:34
回答 4查看 1.4K关注 0票数 3

我需要了解如何使用jquery访问对象asp,因为我有一个文件,它是在aspx后面的代码的页面加载中注册的,脚本需要进行验证,我在不同的站点上看到,我可以用这个<%=txtName.UniqueID %>来实现它,但是我不工作,我会把我的代码放到我的代码中,任何人都可以帮我。谢谢

在脚本文件中触发验证此方法的按钮

代码语言:javascript
复制
    <asp:Button ID="btnOk" CssClass="btnOk" runat="server" Text="Ok" /> 

the js

代码语言:javascript
复制
$(".btnOk").click(validateData);

function validateData() {

$("form").validate({
    rules: 
    {
        '<%=txtName.UniqueID %>': "required"        
    }
});
}

在我注册脚本的地方我的代码

代码语言:javascript
复制
ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", "<script language=javascript src='js/SetIndicators.js'> </script>");
ClientScript.RegisterClientScriptBlock(this.GetType(), "Validator", "<script language=javascript src='js/jquery.validate.js'> </script>");

更新

这是我需要验证的文本输入。

代码语言:javascript
复制
<asp:TextBox ID="txtLayerName" CssClass="txtLayerName" runat="server"> </asp:TextBox>

对于'<%=txtName.UniqueID %>'和<%=txtName.UniqueID %>,'.txtLayerName'也不起作用

更新2

这是asp的呈现名称。

代码语言:javascript
复制
<input name="ctl00$ContentPlaceHolder1$txtLayerName" type="text" id="ctl00_ContentPlaceHolder1_txtLayerName" class="txtLayerName required" />
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-13 13:52:53

jquery使用html输入的NAME属性进行验证,而不是使用ID。我已经有一段时间没有使用webforms了,所以我不知道名称和id是否匹配。但这可能是值得研究的。

编辑:我在飞行中添加了验证,并取得了很大的成功,如下所示:

代码语言:javascript
复制
    $(function(){
       $("form").validate(); 

       $('.txtLayerName').each(function () {

            //add the required validator to these!
            $(this).rules('add', {required: true});

        }); 
    });
票数 1
EN

Stack Overflow用户

发布于 2011-06-10 21:53:26

我想你想:

代码语言:javascript
复制
'<%= txtLayerName.ClientID %>': "required"

另外,请记住,您可以使用CSS类,而不是像这样定义规则,这比较容易一些。例如:

代码语言:javascript
复制
<asp:TextBox ID="txtLayerName" CssClass="txtLayerName required" runat="server" />
票数 2
EN

Stack Overflow用户

发布于 2011-06-13 13:44:14

我很幸运地使用了jQuery的以“选择器”结尾,因为控件的服务器端ID始终是客户机ID字符串的最后一部分。

例如,按钮的客户端ID可能类似于"ctl00$foo$bar$btnOk“,那么您的jQuery是:

代码语言:javascript
复制
$("[id$=btnOk]").click(validateData);

然后,您可以对TextBox做同样的事情。

代码语言:javascript
复制
rules: 
{
    $("[id$=txtLayerName]").attr("id") : "required"        
}

更新:

试一试:

代码语言:javascript
复制
rules = {};
rules[$("[id$=txtLayerName]").attr("id")] = "required";

由于对象本质上只是具有对元素的直接命名访问的数组,所以您可以创建一个数组并像使用一个对象一样使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6130639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档