2013-02-26 2 views
0

온라인 시험을보고 있지만 타이머 부분에 문제가 있습니다. 사용자가 새 페이지를 가져 오기 위해 다음 버튼을 클릭 할 때마다 타이머가 다시 시작됩니다. 여기 내 코드가있다. 나는 또한 저장하고 하나는 시험을 완료 할 수없는 경우 종료의 옵션을 추가 할 다음 페이지를 클릭 한 후 시험 타이머를 계속 만드는 방법

http://paste.laravel.com/iOo

laravel

을 사용하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.

+1

세션 변수를 사용하여 한 페이지에서 다음 페이지로 시간을 보냅니다. –

+0

질문을 표시하는 루프가 있으므로 내 질문은 데이터베이스에서오고 있습니다. 여기에 세션을 적용하는 방법에 대해 혼란스러워합니다. – Mardwan

+0

그러면 어떻게 다른 페이지로 이동할 수 있습니까? 한 페이지에 질문을 표시하고 있음을 의미합니다. 권리. –

답변

1

당신은이 방법으로 시도 할 수 있습니다 : 예를 들어, 테스트가 시작되면, 질문을 유지하기위한 현재 테스트에 대한 세션 변수를 만들

  • 를, 'testQuestions'
  • JSON을 전송하는 함수 만들기 'testQuestions'배열에서 하나의 질문을 포함하는 출력. 따라서 적절한 색인을 사용하여 해당 URL을 쿼리 할 때마다 해당 질문이 표시됩니다. 해당 질문을 보낼 때 nextQuestionIndex, prevQuestionIndex 등과 같은 추가 정보를 추가 할 수도 있습니다. 프론트 엔드에서 다음 및 이전 버튼을 크레이트 할 수 있도록 도와줍니다.
  • 그런 다음 프런트 엔드에서 타이머를 표시하는 섹션과 질문을 표시하는 섹션 (또는 ID가있는 div)을 만들 수 있습니다.
  • 그런 다음 다음 및 이전 버튼의 클릭 이벤트에 대한 JavaScript 함수를 작성하십시오. ajax 요청을 보내고 다음 질문이 포함 된 json 응답을받을 수 있습니다. 현재 질문의 내용을 수정하여 다음 또는 이전 질문을 표시 할 수 있습니다.

이 전략을 개선하고 다음 또는 이전 버튼을 클릭 할 때 질문 양식을 제출할 수 있습니다. 이렇게하면 한 통화로 질문에 대한 답변을 업데이트하고 다음/이전 질문을받을 수 있습니다. 아약스 요청을 사용하기 때문에 페이지 새로 고침을 피할 수 있습니다.

+0

대단히 감사합니다! 이게 정말 도움이 됐어. – Mardwan

1

시험 시작 시간을 쿠키에 기록한 다음 페이지가로드되면 각 페이지에서 시험 시작 시간을 확인할 수 있습니다.

+0

쿠키를 사용하면 사용자가 시험을 마칠 수 없을 때 저장하고 종료 할 수 있습니까? 또한 질문을 표시하는 루프가 있으므로 데이터베이스에서 내 질문이 나옵니다. 쿠키를 적용하는 방법에 혼란스러워집니다. – Mardwan

+0

@Mardwan - 쿠키는 특정 페이지/사이트에 대한 데이터를 브라우저에 저장하므로 나중에이 특정 페이지 또는 사이트의 다른 페이지에서 검색 할 수 있습니다 브라우저. 저장 및 종료에 유용할지 여부는 귀하가 설명하지 않은 시험 상태를 저장하는 방법에 따라 다릅니다. 시험 상태를 서버에 저장하고 있습니까? 시험 상태를 저장/저장하려는 곳은 어디입니까? – jfriend00

+0

시험 답안은 나중의 평가를 위해 사용자가 입력해야하므로 추후 검색을 위해 서버에 저장합니다. – Mardwan

관련 문제