输入ID的Javascript验证

时间:2011-08-04 15:33:03

标签: javascript jquery validation

我在页面的表单上运行了jquery函数和javascript验证脚本。

在一种形式上,输入ID是用“。”动态生成的。 - 这似乎导致问题并破坏了功能。

任何明显的工作?

功能:

function customAlert(){
    var args = arguments;
    if(args.length > 1) {
        // check that custom alert was called with at least two arguments
        var msg = args[0];
    $(".giftmessaging").removeClass("alertRed");
        $("li").removeClass("alertRed");
        $("input").removeClass("CO_form_alert");
        $("select").removeClass("CO_form_alert");
        var div = $(".errorPopup");
        div.css({"display":"block"});

        div.html(msg);
        for(var i = 1; i < args.length; i++) {
            var inputID = args[i];
           $("#"+inputID).addClass("CO_form_alert");
       $(".giftmessaging").addClass("alertRed");
       $('#' + inputID).focus();
       $('#' + inputID).keydown(function() { $('.errorPopup').hide(); }).change(function() { $('.errorPopup').hide(); });

        }
     }

}

验证部分示例:

couponAlert(msg_601,"frmCPN.Number_1")

以及生成的id的示例:

input title="Coupon <%=i%> Coupon Number" type="text" class="CO_PM_VisaCouponsNumberInput<%=redText%>" id ="<%=LLBECOrderConstants.LLB_PAYDEVICE_COUPONFORM%>.<%=LLBECOrderConstants.LLB_PAYDEVICE_NUMBER%>_<%=i%>" name="<%=LLBECOrderConstants.LLB_PAYDEVICE_NUMBER%>_<%=i%>" size="15" maxlength="15" value="<%=txtbxCPID%>" class="redeemNum" onKeyPress="return checkEnter(event,'<%=LLBECOrderConstants.LLB_PAYDEVICE_COUPONFORM%>')"/> 
</div>

1 个答案:

答案 0 :(得分:2)

如果您需要按ID获取元素,并且该ID具有jQuery可能会混淆选择器语法(.:等)的字符,请使用attr selector作为ID代替:

$( '[id="' + inputID '"]' )