0

カスタムバリデーターとjqueryを使用してチェックボックスリストを検証して、必要な検証を確認しています。検証は問題ありませんが、エラーに焦点を当てていません。

CheckBoxList と CustomValidator の asp.net は次のとおりです。

<asp:CheckBoxList ID="cblSellerCategories" 
 runat="server" 
 RepeatDirection="Horizontal"> 
</asp:CheckBoxList>


<asp:CustomValidator ID="CustomValidator2" 
 runat="server"
 ClientValidationFunction="CheckSellerCategory"
 CssClass="errorBox" 
 ErrorMessage="Select seller type" 
 SetFocusOnError="True"> 
</asp:CustomValidator>

そしてJqueryは

function CheckSellerCategory(sender, args) {
args.IsValid = false;
$("[id$='cblSellerCategories']").find(":checkbox").each(function () {
    if (jQuery(this).attr("checked")) {
        args.IsValid = true;
        return;
    }
});
}

エラーにフォーカスする方法 (チェック ボックスが選択されていない場合)。検証グループでも試しましたが、うまくいきませんでした。

4

1 に答える 1

4

機能していない場合SetFocusOnErrorは、次のようにして手動でフォーカスを設定できます

if (!args.IsValid)
   $("[id$='cblSellerCategories'] :checkbox:first").focus();

だからあなたのコードは

function CheckSellerCategory(sender, args) {
    args.IsValid = false;
    $("[id$='cblSellerCategories']").find(":checkbox").each(function () {
        if (jQuery(this).attr("checked")) {
            args.IsValid = true;
            return;
        }
    });
    if (!args.IsValid)
       $("[id$='cblSellerCategories'] :checkbox:first").focus();        
}
于 2012-10-16T12:35:46.747 に答える