2012-11-19 2 views
0
<script type="text/javascript"> 

    $(document).ready(function() { 
     $("#<%=txtNumeric.ClientID %>").focusout(function() { 
      var textvalue = $("#<%=txtNumeric.ClientID %>").val(); 
      if (!validateDecimal(textvalue)) 
       return false; 
      else { 
       $(this).removeClass("focus"); 
       return true; 
      } 
     }); 

    }); 

    function validateDecimal(value) { 
     var RE = new RegExp(/^\d\d*\.\d\d$/); 
     if (RE.test(value)) { 
      return true; 
     } else { 
      alert("Please Enter in XX.XX format !"); 
      $(this).addClass("focus");// this keyword is not working here !! 
      $(this).focus(); // this keyword is not working here !! 
      return false; 
     } 
    } 
</script> 

어떻게 호출 된 함수에서 현재 ASP 텍스트 상자의 ID를 얻을 수 있습니까? bcuz이 작동하지 않습니다. 아무도 나를 도울 수 있습니까? 이jquery 함수에서 asp 텍스트 상자의 ID를 얻는 방법

$(document).ready(function() { 
     $("#<%=txtNumeric.ClientID %>").focusout(function() { 
      var textvalue = $("#<%=txtNumeric.ClientID %>").val(); 
      if (!validateDecimal(textvalue,this)) 
       return false; 
      else { 
       $(this).removeClass("focus"); 
       return true; 
      } 
     }); 

    }); 

    function validateDecimal(value,ControlObject) { 
      var RE = new RegExp(/^\d\d*\.\d\d$/); 
      if (RE.test(value)) { 
       return true; 
      } else { 
       alert("Please Enter in XX.XX format !"); 
       $(ControlObject).addClass("focus");// this keyword is not working here !! 
       $(ControlObject).focus(); // this keyword is not working here !! 
       return false; 
      } 
     } 
+0

왜 매개 변수로 전달하지 않습니까? –

+0

클래스를 사용하여이를 사용하는 경향이 있으므로 클라이언트 코드와 서버 코드를 섞어서 사용하지 않아도됩니다. – RubbleFord

답변

0

패스 제어 대상 왜뿐 validateDecimal 예컨대, 파라미터로서 전달할 - 그와

function validateDecimal(value, textbox) { 
    var RE = new RegExp(/^\d\d*\.\d\d$/); 
    if (RE.test(value)) { 
     return true; 
    } else { 
     alert("Please Enter in XX.XX format !"); 
     textbox.addClass("focus"); 
     textbox.focus(); 
     return false; 
    } 
} 

은 내가 validateDecimal이 텍스트 상자를 변경하는 어떤 논리를 가지고해야한다고 생각하지 않습니다 말했다되고. 그 이유는 각 함수는 단 한 가지만 수행하고 validateDecimal은 유효성 검사를 수행하고 true/false를 반환해야하기 때문입니다. 텍스트 상자 클래스/etc를 변경하는 논리는 validateDecimal 외부의 다른 함수에 있어야합니다.

+0

감사합니다 Rahul ... 나는 나의 해결책을 얻었다. – user1817779

관련 문제