2009-07-09 5 views
4

javascript onchange 이벤트를 사용하여 조건부로 asp : TextBox의 OnTextChanged AutoPostBack을 취소하는 방법을 찾지 못했습니다. 나는 포스트 백 (back-back)의 필요성을 무효로 할 클라이언트 측의 조건들을 쉽게 확인하기 때문에 이것을하고 싶다. 나는이 DoMyCheck()가 true를 반환하면 다시 게시와 함께 진행 또는 DoMyCheck()가 false를 반환하는 경우 취소 것 중 하나라고 생각Javascript OnChange 이벤트를 사용하여 조건부로 텍스트 상자의 AutoPostBack 취소

<input name="tb1" type="text" onchange="return DoMyCheck(); setTimeout('__doPostBack(\'tb1\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="tb1"/> 

<script type='text/javascript'> 
    function DoMyCheck() 
    { 
     if(something) 
     { 
      return false; 
     }else 
     { 
      return true; 
     } 
    } 
</script> 

:

나는 클라이언트 HTML에서 발생하는이 같은 있습니다. 분명히 그것은 상관없이 매번 취소합니다. AutoPostBack = true로 설정하면 긴 .NET ID가 단순화되고 setTimeout() 및 OnKeyPress() 물건이 자동 생성되었습니다. 내가 실제로 넣은 유일한 코드는 onchange 이벤트뿐이었습니다.

내가 여기에 게시 한 솔루션을 보았다 : http://www.eggheadcafe.com/community/aspnet/3/10042963/try-this.aspx

을하지만 수동으로 내가 그것을 도울 수 있다면 다시 게시 작업을 수행하는 자바 스크립트 내부 .NET으로 훅하고 싶지 않기 때문에이 내 마음에 받아 들일 수있다.

누구에게 더 좋은 해결책이 있습니까? 당신이 줄 수있는 도움에 크게 감사드립니다.

답변

4

항상 복귀하므로 포스트 백이 호출되지 않습니다. 함수가 false를 반환하는 경우에만 false (이벤트 취소)를 반환해야합니다. ...

onchange="if(!DoMyCheck()) return false; setTimeout('__doPostBack(\'tb1\',\'\')', 0)" 
+0

당신은 내가 옳다고 생각하지 않습니다. 당신의 도움을 주셔서 감사합니다. – jakejgordon

관련 문제