2009-10-09 2 views
0

저는 ASP.NET 웹 사이트를 구축 중이며 한 페이지의 동작에 당황하며 긴 양식과 제출 버튼이 있습니다. javascript 페이지에서 스크롤을 처리하기 위해 양식을 제출할 때 페이지를 다시 스크롤합니다. 제출 버튼을 처음 클릭하면 모든 연속 클릭이 작동하지 않습니다. 이유는 무엇입니까?양식을 제출할 때 JQuery 스크롤 문제가 발생했습니다.

<script type="text/javascript"> 
    $(".thebutton").click(function(){ 
     $("html, body").animate({scrollTop: 200}, 1000); 
    }); 
</script> 

건배, 티

+0

분명히 밝혀야 할 점은 양식을 제출할 때 양식이 페이지 맨 위로 스크롤되는 바람직한 동작입니까? – Thom

+0

아이디어는 사용자가 (ajax를 통해) 제출하거나 양식을 재설정 할 때 위로 스크롤하는 것입니다. – Thi

답변

0

아, 아약스 게시물을 사용

은 내 게시물 이상이 다른 점.

아약스 전화로 페이지의 버튼이 바뀌나요? 나는 당신이 그것에있는 qustion에있는 버튼들로 UpdatePanel을 사용하고 있다고 가정합니다.

Ajax 호출을하면 UpdatePanel의 컨트롤이 리빌드되고 DOM이 다른 객체로 인식하여 새로운 객체가 더 이상 jQuery 클릭 기능에 바인딩되지 않습니다. 원하는 기능을 다시 활성화하려면 ajax 게시물 다음에이 버튼을 클릭하여 이벤트를 다시 바인딩해야합니다. 당신을 위해 트릭을 할해야 jQuerys에게 새로운 "라이브"핸들러를 사용

:

$(".thebutton").live("click", function() { 
     $("html, body").animate({scrollTop: 200}, 1000); 
}); 

는 도움이되기를 바랍니다.

+0

멋지게 작동했습니다. =) 이제는 문제가 남았습니다. 사용자가 새 레지스트리를 입력하거나 유효성 검사 요약에서 오류 메시지를 읽거나 스크롤이 올바른 위치로 스크롤되기 때문에 다시 스크롤합니다. 유효성 검사 요약이 표시 될 때 화면의 위치가 아래로 이동하는 스크롤 위치가 변경됩니다. 어떤 아이디어? – Thi

+0

$ ("form").submit (function() { \t \t \t $ ('html, body') scrollTop (200); \t \t}); 또는 \t \t $ ("양식") 살 ('제출'기능() { \t \t \t $ ('HTML, 몸') scrollTop (200). \t \t}).; 은 찾고있는 것에 더 적합 할 수 있습니다. asp 유효성 검사기는 버튼 클릭 이벤트 이후에 발생하는 양식 제출에서 실행됩니다. 당신은 validator 이후에 실행될 수 있도록 폼 submit에 묶여있는 함수를 원할 것이다. – Aaron

+0

내 .scrollTop 코드를 애니메이션 코드로 바꿉니다. – Aaron

0

당신의 제출 버튼 전체 포스트 백을 수행하는 경우, 나는 두 번째 웹 페이지 인스턴스에서 소스를 볼 수 있으며, 스크립트가 여전히 있는지 확인합니다.

+0

전체 포스트 백을 수행하지 않습니다. 폼 데이터를 전송하기 위해 아약스를 사용하고 있습니다. 이미 확인했거나 자바 스크립트가 아직 남아 있습니다. – Thi

0

스크립트가 게시 전에 실행됩니다.

jQuery로 초기 페이지로드 바인드 Click 이벤트

클릭 버튼 jQuery를 클릭이 HTML을 제기하고 몸 scrollTop이 중 200 로 설정이 양식을 "애니메이션"당신이 경우

상상 제출되었습니다

asp.net 백 엔드 클릭 이벤트 코드가 실행됩니다 페이지가 다시로드됩니다.

string script = "$(function() { $('html, body').scrollTop(200); });"; 
ClientScript.RegisterStartupScript(this.GetType(), "scrollTop", script, true); 

이렇게하면 원하는 것을 처리해야합니다.

희망이 있습니다.

+0

그것은 작동하지 않습니다, 첫 번째 실행 (클릭) 잘 작동, 후속하지 않습니다. – Thi