2010-02-23 8 views
2

나는 수많은 셀이있는 표가 페이지 전체에 배치 된 HTML 페이지가 있습니다. 자세히 직원 24 시간 하루 일정은 30 분 평균 평균 100 직원에 의해 행에 48 세포를 의미합니다로 나뉘어져 있습니다. 클릭 할 때마다 각 셀은 전체 페이지를 다시 제출하는 팝업을 엽니 다. 연령대가 지나면 사용 중이지만 새 클라이언트는 모든 임의의 팝업 수정이 완료된 후 (모든 변경 사항이 한 번만 발생해야 함) 발생해야한다고 원합니다. 이것은 주로 자바, 사용자 정의 프레임 워크와 자바 스크립트로 작성됩니다. 내 qusetion이 상황에 대한 이중 접근 방식은 무엇입니까. 내가 연구 한 가장 일반적인 answeres는 AJAX 구현이지만 자바 스크립트 내부에서 약간의 조정이 요구 사항을 충족시킬 수 있다고 생각합니다. AJAX없이페이지에 너무 많은 수의 피하기

+0

전체 페이지 제출 전체가 어떻게됩니까? 확실하게, 당신은 모든 팝업 데이터를 모든 셋팅 데이터로 가질 수 있으며, 결국 한 번만 전체를 제출하기 위해 마지막에 "저장"을 할 수 있습니까? – Fenton

+0

AJAX를 사용하지 않으면 저장에 100 * 48 값을 모두 제출해야하며 서버는 변경된 사항을 처리해야합니다. 그렇게하고 싶지는 않습니다. –

답변

1

, 내가 때마다 하나 개의 값이 변경 양식을 제출하지만, 한 번에 모든 것을 저장하는 "저장"버튼을 가지고 있지 않습니다 생각할 수있는 유일한 솔루션입니다.

그러나 AJAX가 최상의 솔루션입니다. 그러면 사용자가 현재 페이지에 머물러있는 동안 모든 데이터를 서버에 제출하면됩니다.

Mozilla's tutorial은 평범한 자바 스크립트를 사용하는 경우 아마도 가장 좋습니다. jQuery와 같은 다양한 프레임 워크에는 매우 간단한 내장 함수가 있습니다.

0

AJAX가 분명히 최상의 솔루션입니다. 많은 변경이 가능해야한다 -하지의 모든 변화가 제출 필요 있도록

  • 변경 테이블의 구조 :하지만 당신은 재 작성, 마음에 와서 개선하는 두 가지 방법을 주저하고있는 한보고 필드를 입력 한 다음 하나의 제출 조치로 모두 저장하십시오. 그것은 테이블의 구조와 저장 스크립트가 작동하는 방식에 달려 있습니다. 더 많이 알지 못하면 말할 수 없지만 재 작업이 필요할 수도 있습니다.

  • 보이지 않는 IFRAME을 만들고 이름을 지정하고 해당 IFRAME에 <form> 개의 요소 'target을 설정하십시오. 은 여전히 ​​제출 조치가 있지만은 보이지 않는 Iframe에 제출되며 페이지는 다시로드 할 필요가 없으며 사용자는 계속 작업 할 수 있습니다. 이것은 정말 아름다운 해결책은 아니지만 최소한 파일 업로드가없는 한 작업을 수행 할 수 있습니다.

1

XML을 반드시 사용해야하는 것은 아닙니다. 형식을 알고있는 데이터에 대한 빠르고 더러운 방법은 XMLHTTPRequest 개체를 사용하여 데이터를 앞뒤로 전달하는 것입니다. Javascript로 개별 셀의 변경 사항을 감지하고 수정 된 셀과 새 컨텐츠를 저장할 이벤트를 감지 할 수 있습니다. 데이터베이스를 갱신하는 서버 페이지로 다시 데이터를 전달하는 함수를 작성하십시오.

매우 빠르다. 내가 작업 한 한 응용 프로그램에서 HTML은 새로 고침 당 100,000 개였으며 데이터 만 업데이트되면 HTML이 5KB 이하로 떨어졌습니다.

관련 문제