【问题标题】:EnableValidator in JSJS 中的启用验证器
【发布时间】:2013-02-22 20:38:05
【问题描述】:

我的Webform.aspx 中有一个验证器

<asp:RequiredFieldValidator ID="val1" ClientIDMode="Static" runat="server"/>

在我的 jquery 中,我有一个函数试图通过标记中的按钮调用禁用它

btnclick = function()
{
    var a = $('#val1');
    alert(a); //alerts [object Object]
    ValidatorEnable(a, false); //gets a console error
}

当这个函数执行时,控制台报错(我用的是谷歌浏览器),说uncaught TypeError: Cannot set property 'visibility' of undefined

这是说我的 var a 未定义吗? ...但这没有任何意义,因为它正在提醒[object Object]

我也做了alert(a.length),正如预期的那样给了我1

【问题讨论】:

  • 我昨天刚遇到这个问题,想不通。使用 CustomValidator,这对您来说也是一个可行的选择。
  • @AndrewWalters 我倾向于这样做,但我看到这是一个可行的解决方案。我只是对为什么它不起作用感到困惑。
  • 你试过ValidatorEnable(a[0], false)吗? ValidatorEnable 需要一个元素,而不是 jQuery 对象。
  • 通常不需要使用自定义 javascript 调用 requiredfield 验证器,它们将使用提交按钮调用。为什么用 .js 调用?
  • @jrummell 这似乎是解决方案,谢谢!

标签: javascript jquery asp.net validation


【解决方案1】:

ValidatorEnable 需要一个元素,而不是 jQuery 对象。您可以使用索引获取第一个匹配的元素。

var a = $('#val1');
ValidatorEnable(a[0], false);

【讨论】:

  • 它对我不起作用。它能够选择像 ValidatorEnable(a, false) 这样的控件 ID;但它无法禁用 Comparevalidator
猜你喜欢
  • 2020-07-30
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 2021-05-19
  • 2017-01-20
  • 1970-01-01
相关资源
最近更新 更多