이에 대한 일반화 된 솔루션을 찾고 있습니다.
같은 이름을 가진 2 개의 무선 입력을 고려하십시오. 제출 될 때 확인 된 값에 따라 양식과 함께 전송되는 값이 결정됩니다.
<input type="radio" name="myRadios" onchange="handleChange1();" value="1" />
<input type="radio" name="myRadios" onchange="handleChange2();" value="2" />
라디오 버튼을 선택 해제하면 변경 이벤트가 시작되지 않습니다. 따라서 value = "1"인 라디오가 이미 선택되어 있고 사용자가 두 번째를 선택하면 handleChange1 ()이 실행되지 않습니다. 이 선택을 취소 할 수있는 이벤트가 없다는 점에서 문제가 있습니다 (어쨌든).
내가 원하는 것은 확인란 그룹 값의 onchange 이벤트 또는 라디오를 확인할 때뿐만 아니라 선택하지 않은 경우를 감지하는 oncheck 이벤트에 대한 해결 방법입니다.
나는 당신 중 일부가 전에이 문제에 부딪쳤다 고 확신합니다. 몇 가지 해결 방법은 무엇입니까 (또는 이상적으로이를 처리하는 올바른 방법은 무엇입니까)? 변경 이벤트를 포착하고 이전에 확인한 라디오와 새로 확인한 라디오에 액세스하고 싶습니다.
PS
onclick은 라디오를 확인할 때 표시하는 더 나은 (크로스 브라우저) 이벤트처럼 보이지만 여전히 확인되지 않은 문제를 해결하지는 못합니다.
체크 박스 유형에 대한 onchange가 체크 또는 체크 해제 할 때 제출하는 값이 변경되므로 이와 같은 경우에 왜 작동하는지 이해하는 것이 좋습니다. 라디오 버튼이 SELECT 요소의 온 체인지처럼 동작하기를 원하지만 할 수있는 일은 ...
myRadios
변수를 읽기 위해 name 속성 을 가진 각 라디오 버튼에 클릭 이벤트 핸들러가 설정됩니다prev
.prev
클릭 된 라디오가 저장된 라디오와 동일한 지 그리고 그렇지 않은 경우 현재 클릭 된 라디오가 저장된 것인지 결정하기 위해 각 클릭 핸들러 내에서 비교가 수행됩니다 . 클릭 핸들러 내에서 이전에 선택한 :prev
및 현재 선택된 라디오에 액세스 할 수 있습니다 .this