2011-08-04 5 views
1

jquery 함수와 자바 스크립트 유효성 검사 스크립트가 내 페이지의 양식에서 실행됩니다.입력 ID에 자바 스크립트 유효성 검사

한 양식에서 입력 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> 

답변

2

당신이 ID를 기준으로 요소를 얻을 필요가있는 경우, 그리고 ID에는 jQuery가 선택기 구문에 혼동을 줄 수있는 문자가 있습니다 (., : 등) 대신 ID에 attr selector을 사용하십시오.

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

감사합니다. – Jason

관련 문제