ASP 버튼이 있습니다. 서버 측이므로 로그인 한 사용자에게만 표시 할 수 있지만 자바 스크립트 함수를 실행하고 싶을 때 runat = “server”인 경우 항상 포스트 백 이벤트를 호출합니다.
또한 <input...
서버에서 실행되지 않는 일반 버튼 ( >) 이 있으며 정상적으로 작동합니다 …
이 버튼으로 자바 스크립트 만 실행하고 포스트 백하지 않도록하려면 어떻게해야합니까?
답변
완료되면 자바 스크립트가 false를 반환하도록합니다.
<asp:button runat="server".... OnClientClick="myfunction(); return false;" />
답변
YourButton.Attributes.Add("onclick", "return false");
또는
<asp:button runat="server" ... OnClientClick="return false" />
답변
jquery 클릭 동작을 사용하고 preventDefault () 함수를 사용하여 포스트 백을 피할 수 있습니다
<asp:button ID="btnMyButton" runat="server" Text="MyButton" />
$("#btnMyButton").click(function (e) {
// some actions here
e.preventDefault();
}
답변
이걸 고려하세요.
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);
function BeginRequest(sender, e) {
e.get_postBackElement().disabled = true;
}
</script>
답변
다른 것들은 당신이 거짓을 돌려주기 위해 당신의 콜백이 필요하다는 것입니다. 그러나 onclick을 설정하여 작업을 수행하는 것은 못생긴 오래된 방법이라고 덧붙이고 싶습니다. 방해받지 않는 자바 스크립트 에 대해 읽는 것이 좋습니다 . jQuery 와 같은 라이브러리를 사용하면 인생을 더 편하게 할 수 있고 HTML이 자바 스크립트에 덜 결합 될 수 있습니다 ( 현재 jQuery 는 Microsoft 에서 지원합니다 !)
답변
ASP.NET은 항상 생성 asp:Button
int로서 input type=submit
.
게시물을하지 않지만 서버 측의 요소에 대한 제어가 필요한 버튼을 원하면 속성 type=button
및을 사용하여 간단한 HTML 입력을 만드십시오 runat=server
.
을 수행하는 클릭 동작을 비활성화하면 다음 OnClientClick=return false
과 같은 함수를 만들지 않는 한 클릭시 아무것도 수행되지 않습니다.
function btnClick() {
// do stuff
return false;
}
답변
사용중인 .NET 프레임 워크의 버전을 말하지 않습니다.
v2.0 이상을 사용하는 경우 버튼의 onclick 이벤트가 발생하면 OnClientClick 속성을 사용하여 Javascript 함수를 실행할 수 있습니다.
서버 포스트 백이 발생하지 않도록 false
하려면 호출 된 JavaScript 함수에서 리턴 하면됩니다.