1

カスタムJavaScriptバリデータークライアント関数をジェネリックにしたいのですが、ユーザーコントロールの関数でControlToValidateIDを取得できません。

ユーザーコントロールは、ページにあるモーダルポップアップの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の異なるドロップダウンリストのユーザーコントロールで1つの関数を使用できるようにする必要があります。

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

カスタムjavascript検証関数がこれらすべてのユーザーコントロールドロップダウンで機能するように、このコントロールIDを一般的な方法で取得するにはどうすればよいですか?

ありがとう!

- ボブ

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 に答える