테스트 사이트 - 개발 중인 베타 버전입니다

체크박스 여러개 항목이 있는데 하나라도 선택 필수 사항으로 하는 방법 채택완료

4455 3년 전 조회 2,430

체크박스 필수 항목으로 하고 싶은데 여러개 중 하나라도 선택해야 글쓰기가 완료가 되는 방법 좀 가르쳐주세요 ㅠㅠ 인터넷에서 찾아서 적용해봐도 안되요

 

제 소스입니다

 

$check3 = explode(",", $write['wr_14']);
?>
            <input type="checkbox" name="wr_14[]" value="종합"<?php echo in_array("종합", $check1) ? ' checked="checked"' : '' ?> />
종합
<input type="checkbox" name="wr_14[]" value="심리/정서"<?php echo in_array("심리/정서", $check1) ? ' checked="checked"' : '' ?> />
심리/정서
<input type="checkbox" name="wr_14[]" value="사회적관계"<?php echo in_array("사회적관계", $check1) ? ' checked="checked"' : '' ?> />
사회적관계
<input type="checkbox" name="wr_14[]" value="일상생활"<?php echo in_array("일상생활", $check1) ? ' checked="checked"' : '' ?> />
일상생활
<input type="checkbox" name="wr_14[]" value="건강관리"<?php echo in_array("건강관리", $check1) ? ' checked="checked"' : '' ?> />
건강관리
<input type="checkbox" name="wr_14[]" value="경제적"<?php echo in_array("경제적", $check1) ? ' checked="checked"' : '' ?> />
경제적
<input type="checkbox" name="wr_14[]" value="환경적"<?php echo in_array("환경적", $check1) ? ' checked="checked"' : '' ?> />
환경적
<input type="checkbox" name="wr_14[]" value="목표실행정도"<?php echo in_array("목표실행정도", $check1) ? ' checked="checked"' : '' ?> />
목표실행정도
<input type="checkbox" name="wr_14[]" value="기타"<?php echo in_array("기타", $check1) ? ' checked="checked"' : '' ?> />
기타()

 

    var flag = false;
    $("input[name='wr_14[]']").each( function () {
        if (this.checked) {
            flag = !flag; 
            return false;
        }
    });

    if (!flag) {
        alert("종류는 하나 이상 체크해주세요.");
        return false;
    }

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
B
3년 전

- https://sir.kr/qa/449186

</p>

<p>  var checked = document.querySelectorAll('input[name="wr_14[]"]:checked');

  if ( !checked.length ) {

    alert("상담유형을 하나 이상 선택해주세요.");

    return false;

  }</p>

<p>

</p>

<p>// jQuery</p>

<p>  var checked = $('input[name="wr_14[]"]:checked');</p>

<p>  if ( !checked.length ) {

    alert("상담유형을 하나 이상 선택해주세요.");

    return false;

  }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

4
4455
3년 전
이것도 되지 않네요 암튼 감사합니다^^
B
BiHon
3년 전
그냥 되지 않는다로 끝내지 말고,
개발자 도구 열어서 콘솔창에 어떤 내용 뜨는지 확인해보세요.

댓글을 작성하려면 로그인이 필요합니다.

4455
3년 전

콘솔에 보니 이런 에러가 나네요 ㅠㅠ 저는 초보자라서 고치지도 어떻게 건들어야 할지 모르겠네요 ㅠㅠ

jquery-migrate-1.4.1.min.js?ver=210618:2 JQMIGRATE: Migrate is installed, version 1.4.1
write.php?w=u&bo_table=coll&wr_id=3&page=:496 Uncaught SyntaxError: Illegal return statement
content.js:1 try to connect

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

B
BiHon
3년 전
그냥 복사&붙여넣기해서 그렇습니다.
주로 아래처럼 폼 전송 전 체크하는 방식으로 사용합니다.

<form ... onsubmit="return form_check()">
:
</form>

<script>
function form_check() {
// ...
var checked = $('input[name="wr_14[]"]:checked');
if ( !checked.length ) {
alert("상담유형을 하나 이상 선택해주세요.");
return false;
}
// ...
return true;
}
</script>

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인