2012-03-11 3 views
1
나는이 같은 실행 스크립트를 생성 할

에서 클라이언트 스크립트를 실행 : (아래의이 시도는)작성하고 asp.net

protected void txtPassword_TextChanged(object sender, EventArgs e) 
{ 
     script = "<script type='text/javascript'>"; 
     script += "function showmsg(){"; 
     script += "$('#msg').slideDown('normal');"; 
     script += "$('#msg span').addClass('message');"; 
     script += "setTimeout('showmsg',100);"; 
     script += "}"; 
     script += "</script>"; 
     ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowMessage",script); 
} 

내 실수를? 왜 달리기가없는거야? 스크립트를 가정하면 것은 이제 페이지의 일부입니다

+1

스크립트를 등록했지만 어디에서/언제 showmsg() 메소드를 호출합니까? – Dinesh

+0

어떻게 그것을 text_changed 또는 textbox_blur에서 실행할 수 있습니까? – sap

답변

0

이 필요 showmsg() 함수가 호출 될 : 당신이 jQuery를 사용하고 있기 때문에

<script type="text/javascript"> 
$(function() { 
    showmsg(); 
    }); 
</script> 

, 이것은 showmsg 함수에서 코드를 실행해야합니다.

+1

코드를 등록하는 것이 왜로드 또는 클릭 이벤트에서 실행되지만 text_changed에서는 실행되지 않습니다 ???? – sap

0

코드에서이 방법으로 스크립트를 등록 할 필요가 없습니다. javascript/jquery를 사용하여 텍스트 상자의 텍스트가 변경되었는지 간단히 확인할 수 있습니다.

jquery를 사용하고 있기 때문에 텍스트 상자 텍스트 변경 사항의 변경을 감지하면 standart JavaScript에서와 같이 change() 이벤트가 작동하지 않습니다.

유사한 링크가 이미 나와있는 링크를 살펴보십시오. 이 도움이

https://stackoverflow.com/a/1481155/448407

희망.

0

스크립트를 등록 할 필요가 없습니다. 그냥 클라이언트 측에서 변경 이벤트를 처리하기 위해이 작업을 수행 :

$(document).ready(function() { 
    $('#<%= txtPassword.ClientID %>').change(function() { 
    alert('Handler for .change() called.'); 
    }); 
}); 

당신은 jQuery를 함께 찾을 수있는 컨트롤의 ClientID 속성을 사용하여 이벤트를 변경 구독.

희망 하시겠습니까?

0

일부 애니메이션을 적용하려면 일부 jquery 마크 업을 사용하는 것 같습니다. jquery를 사용하면 DOM을 조작하기 전에 문서를로드해야합니다.

$ (문서) .ready (함수() {

// 스크립트

});

0

당신의 스크립트가 문자열이라는 것을 잊어 버린 것 같습니다.

관련 문제