【问题标题】:Finding the Control associated with ASP.NET validator using JQUERY or simple Javascript使用 JQUERY 或简单的 Javascript 查找与 ASP.NET 验证器关联的控件
【发布时间】:2014-03-17 19:09:28
【问题描述】:

我有一个页面,其中包含几个文本框及其对应的验证器(ASP.NET 验证器)。

很明显,我可以通过调用函数来验证每个来自 javascript 的验证器

Page_ClientValidate("myvalidators") 

myvalidators 是我的验证器组名

我可以使用相同的方式验证特定验证器

ValidatorEnable(Page_Validators[0]);

只检查特定的验证器

但我的问题是如何找到或找出与该特定验证器连接的控件(文本框)。

这意味着一个函数可以返回所有带有失败验证器的控件。

或者更清楚地说,该函数应该返回一个控件集合对象,其中对应的验证器失败。

添加了更多描述

我的方案是突出显示验证器失败的文本框的父 div。因此,如果我得到 texbox 控件对象或控件数组,我可以只获取其每个父 div 并突出显示它。

【问题讨论】:

  • 显示生成的html会很容易理解
  • @Adil 需要吗?因为我指定了我用来调用验证器的函数。

标签: javascript jquery asp.net validation server-side-validation


【解决方案1】:

Page_Validators 数组返回我们在自定义验证函数中收到的相同元数据。这意味着您可以收到类似Page_Validators[0].controltovalidate 的关联控件标识符。

 <script>
$(function () {
  // process all validators and their controls
  $.each(Page_Validators,function (i,v){ 
     if(v.controltovalidate) { 
        $("#"+v.controltovalidate); 
     } 
   });
});
</script>

【讨论】:

  • 对不起..我想你误解了我的场景......实际上我的要求是,想象我的文本框 id 是 txt1 并且有一个与之相关的 requirefield 验证器。我可以将那个验证器称为 Page_Validators[0] 那么我的问题是我们如何通过使用这个引用 Page_Validators[0] 来获取那个 txt1 对象?希望现在清楚
  • 试试这个 $("#"+Page_Validators[0].controltovalidate)
  • 那是个很棒的朋友...就像一个魅力...如果你用给出的答案替换它,我可以将其标记为正确答案...
  • 好的。我替换了答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
  • 2013-02-18
  • 1970-01-01
  • 2019-09-05
  • 2012-03-14
相关资源
最近更新 更多