2014-05-23 7 views
2

모든 라디오 상자가 포함 된 양식을 제출할 때 뒤로 버튼이 Google 크롬에서 라디오 상자 선택을 검색하지 않습니다.Google 크롬의 뒤로 버튼에 라디오 상자 값이 없음

index.html을

<form action="score.html" method="post"> 
<p> 
Question 1: <br /> 
A<input name="question1" type="radio" value="A" /> <br /> 
B<input name="question1" type="radio" value="B" /> <br /> 
C<input name="question1" type="radio" value="C" /> <br /> 
</p> 

<p> 
Question 2: <br /> 
A<input name="question2" type="radio" value="A" /> <br /> 
B<input name="question2" type="radio" value="B" /> <br /> 
C<input name="question2" type="radio" value="C" /> <br /> 
</p> 

<p> 
Question 3: <br /> 
A<input name="question3" type="radio" value="A" /> <br /> 
B<input name="question3" type="radio" value="B" /> <br /> 
C<input name="question3" type="radio" value="C" /> <br /> 
</p> 

<input name="Test" type="submit" value="Test" /> 
</form> 

score.html 여기

<a href="javascript:history.go(-1)>Go Back</a> 

내가 만든 테스트 형식의 버전을 박탈의 예입니다

아래의 예를 참조하십시오. 누군가가 모든 라디오 박스가있는 양식을 제출 한 다음 결과 페이지로 이동하면 어떤 페이지가 옳고 어떤 페이지가 잘못된 페이지인지 표시하고 잘못된 페이지를 수정하는 옵션을 제공합니다. 돌아 오는 방법은 브라우저의 뒤로 버튼이나 history.go (-1)를 사용하는 것입니다.

Google 크롬에서만 (현재 실행중인 버전 35.0.1916.114 m) 라디오 상자는 비어있게 재설정됩니다. IE와 Firefox에서는 잘 작동합니다. Google 크롬이 Google의 기본 브라우저이며 한 번에 아무 문제없이 작동했습니다.

또한 폼에 텍스트 상자를 추가 한 다음 뒤로 단추를 수행하면 모든 값이 예상대로 유지된다는 것을 발견했습니다.

나는 이것에 문제가 있다고 누군가 조사한 결과 HTTP/HTTPS를 통해 테스트를 마쳤습니다.

해결 방법 내 문제는 history.go (-1)를 사용하는 대신 이전 양식으로 답변을 게시하는 것이지만 다시 클릭하는 경향이있는 사용자의 경우 뒤로 버튼을 다시 가져 오려고합니다 .

+0

기록은 사용자 상호 작용이 아닌 URL 만 보유합니다. 세션에서 아마도 어떤 라디오 버튼이 클릭되었는지 유지해야 할 것입니다. 페이지가 렌더링되면 유지 된 내용을보고 어떤 라디오 버튼이 선택되었는지를 확인해야합니다. – Ballbin

+2

나는 동의해야한다. 그것은 IE에서 작동하고 파이어 폭스에서 작동합니다. 그것은 개발되고 사용 중이기 때문에 지난 5 년 이상 일하고 ... 최근에 일을 그만 두었습니다. 그것은 텍스트 상자 필드를 유지, 그냥 라디오 상자 필드를 유지하지 않습니다. 폼에 텍스트 상자를 추가하면 텍스트 상자가 작동합니다. 저는 1993 년 이래로 웹 사이트 개발에서 일해 왔으며이 결과를 본 적이 없습니다. – steve

+0

다시 클릭 버튼의 의미에 따라 다릅니다. 일부 브라우저는 이전 HTTP 요청을 다시 제출하는 것으로 간주하므로 입력 한 모든 정보가 손실됩니다. 일부 브라우저는 이전 브라우저 화면으로 돌아가는 것으로 취급합니다. 즉, 입력 한 모든 정보가 유지됩니다. 그러나 마지막 페이지뿐만 아니라 사용자가 돌아갈 수있는 모든 페이지에서 실행되는 JavaScript 코드에 저장된 많은 정보를 유지해야하기 때문에 후자의 경우 문제가 발생합니다. – fajarkoe

답변