2012-05-14 1 views
0

내 프로젝트는 Wicket의 AjaxFormValidatingBehavior을 사용하여 트리 메뉴가있는 다중 탭 양식의 정렬에서 양식 내용을 세션에 자동 저장합니다 (개별 탭에 저장 단추가 없지만 실제로 양식을 제출하고 검증을 실행하고 내용을 데이터베이스에 저장하는 "저장"단추입니다. 나는 몇 가지 문제에 직면하고있다 : 동작이 모든 양식 구성 요소의 의 onChange 이벤트에 추가됩니다AjaxFormValidatingBehavior 성능 및 파이어 폭스 포커스 잃어버린

  1. 때문에, 다른 하나 개의 필드에서 때마다 사용자의 이동은 서버의 여행이있다. 나는 스로틀 지속 시간을 지정하여이 문제를 방지 할 수 있지만, 내 양식의 길이/복잡성이 다르기 때문에 동적으로 생성 된 많은 구성 요소 (트리 메뉴 포함)로 설정할 수 없다는 것을 알고 있습니다. 그러나이 성가신 솔루션보다는 양식 콘텐츠를 자동 저장하는보다 우아한 솔루션이 있습니다 (제출 버튼이 없음).

  2. 내가 직면 한 또 다른 문제는 에서 변경합니다. Firefox에서는 "서버 트립"이 끝난 후 구성 요소가 포커스를 잃습니다. IE7에서는 정상적으로 작동합니다. 나는 당신이 당신의 웹 애플리케이션 호출하는 당신의 당신의 구성 요소의 onchange 통화, 자바 스크립트 함수를 파이프 라이닝 기능을 추가 할 필요가 있다고 생각 첫 번째 질문에 대한

답변

0

. 스로틀 지속 시간과 함께 제공되는 것과 유사한 기능을 페이지 전체에 포함 할 수 있습니다 (각 호출을 지연하고 예를 들어 x 밀리 초보다 오래된 경우 마지막 트리거 만).

두 번째로는 행동에 AjaxRequestTarget#focusComponent을 사용해야하거나 첫 번째 대답에 설명 된대로 "래퍼"에서이 문제를 처리해야한다고 생각합니다.

+0

일반적으로 초점을 맞춘 구성 요소를 새로 고치지 않으면 일반적으로 포커스를 잃지 않아야합니다. 나는 이것이 IE7에서 왜 효과가 있을지 불확실하다. –