2010-04-07 6 views
4

여러 개의 텍스트 상자가있는 양식이 있습니다. 나는 수레 만 허용하고 싶지만 사용자가 달러 기호를 입력 할 가능성이 있습니다.jQuery에서 asp.net 유효성 검사를 실행할 수 있습니까?

jQuery를 : 나는 콘텐츠를 달러 기호를 제거하고 검증하기 위해 다음 코드를 사용하고

  $("#<%= tb.ClientID %>").change(function() { 
       var ctrl = $("#<%= tb.ClientID %>"); 
       ctrl.val(ctrl.val().replace('$','')) 
      }); 

asp.net 유효성 검증

<asp:CompareValidator ID="CompareValidator4" runat="server" Type="Double" ControlToValidate="tb" Operator="DataTypeCheck" ValidationGroup="vld_Page" ErrorMessage="Some error" /> 

내 문제는 누군가가 달러에 진입 할 때이다 TextBox "tb"에 로그인하고 포커스를 변경하면 유효성 검사가 먼저 발생하고 jQuery가 달러 기호를 제거합니다. jQuery를 먼저 실행 시키거나 jQuery를 실행 한 후 유효성 검사를 다시 실행하도록 할 수 있습니까?

+0

필터링 된 입력란을 이와 유사하게 적용 할 수 있습니까? (http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9-in-html-inputbox-using-jquery) 질문을하고 달러 기호를 벗기는 것에 대해 걱정할 필요가 없습니까? – R0MANARMY

답변

6

모든 ASP.Net 유효성 검사기에는 사용자가 연결할 수있는 클라이언트 측 API가 있습니다. documentation and discussion on it here을 볼 수 있습니다.

은 특히 당신이 아마하고 싶은 것은 클라이언트 측 유효성 검사 루틴의 유효성 검사기를 다시 실행하고 그 표시를 업데이트하기 위해 자바 스크립트 함수

ValidatorValidate(document.getElementById("<%= myValidator.ClientID %>")); 

에게 전화입니다.

+0

hmm 그래서 jQuery 코드에 추가했습니다. ValidatorValidate ("<% = CompareValidator4.ClientID %>"); 하지만 오류가 있습니다. 이것을 전화하는 올바른 방법입니까? –

+2

@Abe Miessler :이 방법으로 전화 해보십시오. http://tinyurl.com/yblv8pm – R0MANARMY

+0

나는 너를 싫어하며 고마워. 기록을 위해 나는 그것을 Google에 버렸다. 내가 게시 한 내용이 똑같은 것이라고 생각했습니다. –

0

대신에 Change 이벤트를 사용하는 대신 KeyPress 이벤트를 사용하고 거기에 $ 기호를 처리하십시오. 이 방법으로 사용자는 $를 입력 할 수 없습니다.

+0

나쁘지 않은 생각입니다. 내 유일한 관심사는 사용자가 $를 입력하면 혼란스러워하고 아무것도 표시되지 않는다는 것입니다. 최소한 클릭하면 사라지고 클릭을하면 웹 페이지가 자신의 키보드 나 다른 문제가 아니라고 가정 할 확률이 높아집니다. –

0

는 jQuery의 .change() 메소드를 호출하십시오 HTH. 이처럼

: $("#Symbol").val(""); $("#Symbol").change();


때때로 전화는 .val() 충분하지 않습니다.

관련 문제