세 가지 유형의 질문 (입력 유형 = 라디오, 텍스트 및 확인란)으로 데이터베이스 기반 테스트를 만들었습니다. 닫기 태그 앞에 required 를 삽입 하면 라디오 및 텍스트 질문에 대해서는 제대로 작동하지만 확인란에는 적용되지 않습니다.
문제는 각 체크 박스 질문에 3 ~ 6 개의 가능한 답변이 있다는 것입니다. 그리고 정답 인 선택의 수도 다양합니다.
하지만 체크 박스 스크립트에 "required"를 추가하면 사용자는 결과 페이지로 이동하기 위해 모든 답변을 선택해야합니다. 코드는 다음과 같습니다.
<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" **required**> '.$QA.'</label>
이 문제를 해결하는 것으로 보이는 HTML5 필수 속성 페이지를 찾았습니다 . 내가 올바르게 이해했다면 하나의 요소에만 "필수"를 삽입하여 문제를 해결할 수 있습니다. 따라서 답변 A에 삽입하면 사용자는 아마도 답변 C와 D를 선택할 수 있으며 모든 것이 잘 작동합니다.
그것이 맞다면, "필수"를 모두가 아닌 하나의 체크 박스에 표시하는 방법이 있습니까?
required
그룹의 첫 번째 확인란에 조건을 사용 하여 사용합니다. html 코드가 .php 파일로 작성되었다고 가정합니다.
$required = ($Value == 0) ? "required" : ""; //condition to check if the value is first. since it is database driven it would be better to check the key instead of the value.;
echo '<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" '. $required .'> '.$QA.'</label>';
또 다른 해결책은 Jquery를 사용하여 필수 속성을 추가하는 것입니다. 예를 들어 성별이 체크 박스 그룹의 이름 인 경우 :
$('input[type=checkbox][name=gender]')[0].attr('required', 'required');;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다