1

我想让我的自定义 javascript 验证器客户端函数具有通用性,但我无法在我的函数中为用户控件获取 ControlToValidate ID。

用户控件位于页面中的模式弹出窗口中的 asp:wizard 控件中,并且整个 she-bang 使用母版页。我不知道这些信息是否重要。

以下 js 代码用于验证用户控件,该控件基本上是一个下拉列表。获取单个特定控件的 ID 根本不是通用的。

function checkCombo(sender, args) {
    var cb = document.getElementById('<%= cmbList.ClientID %>_cmbList');
    args.IsValid = (cb.options[cb.selectedIndex].text != '-- Select --');
}

什么应该工作,不(sender.ControlToValidate)。我需要能够在大约 20 个不同的下拉列表用户控件上使用一项功能。

var cb = document.getElementById(sender.controltovalidate);

如何以通用方式获取此控件 ID,以便我的自定义 javascript 验证功能适用于所有这些用户控件下拉列表?

谢谢!

——鲍勃

4

1 回答 1

1

您可以在不知道控件本身的情况下从 args 获取控件值:

function checkCombo(sender, args) {
    args.IsValid = (args.Value != -1);
}

如果您将选项“-- Select --”的值设置为-1,这将起作用。无论如何,我认为你可以RangeValidator在这里https://stackoverflow.com/a/5116098/1495902

于 2012-08-29T16:05:50.700 回答