체크박스 POST로 전달하기....질문좀..

체크박스 POST로 전달하기....질문좀..

QA

체크박스 POST로 전달하기....질문좀..

답변 3

본문

라디오나 텍스트는 잘되는데 ㅠ 체크박스가 어려워서요..

초보적인 질문이지만 조언 부탁드립니다 ㅠㅠ

 

--입력페이지--


<form name ="frm" action="javascript:checkForm(document.frm)" method="POST">
        <label><input type="checkbox" name="fruit[]" value="사과">사과</label>
        <label><input type="checkbox" name="fruit[]" value="딸기">딸기</label>
        <label><input type="checkbox" name="fruit[]" value="바나나">바나나</label>
 
        <label><input type="checkbox" name="color[]" value="노랑">노랑</label>
        <label><input type="checkbox" name="color[]" value="파랑">파랑</label>
        <label><input type="checkbox" name="color[]" value="빨강">빨강</label>
        
        <input type="submit" name="submit" value="전송">
</form>

--출력페이지--


<div><?php echo $_POST['fruit']?></div>
<div><?php echo $_POST['color']?></div>

 

별도의 제이쿼리로


function checkForm(frm){
    var chkbox1 = frm['fruit[]'];
    var chkbox2 = frm['color[]'];
    var cnt = 0;
    for (var i = 0 ; i < chkbox1.length; i++) {
        if (chkbox1[i].checked) {
           cnt++;
        }
    }
    for (var i = 0 ; i < chkbox2.length; i++) {
        if (chkbox2[i].checked) {
           cnt++;
        }
    }
    document.frm.action = "form_result.php";
    document.frm.submit();
}

 

ㅜㅜ출력페이지가 호출이 안되드라구요...ㅠㅠ

뭔가 result 갈때도 엄청 느려지고..

이 질문에 댓글 쓰기 :

답변 3

체크박스는 배열로 넘어가니 php에서 받을 때

var_dump($_POST) 로 출력해 보시면 됩니다. 아니면

print_r($_POST) 로 확인해 보셔도 되구요.


<form name ="frm" action="javascript:checkForm(document.frm)" method="POST">
        <label><input type="checkbox" name="fruit" value="사과">사과</label>
        <label><input type="checkbox" name="fruit" value="딸기">딸기</label>
        <label><input type="checkbox" name="fruit" value="바나나">바나나</label>
 
        <label><input type="checkbox" name="color" value="노랑">노랑</label>
        <label><input type="checkbox" name="color" value="파랑">파랑</label>
        <label><input type="checkbox" name="color" value="빨강">빨강</label>
        
        <input type="submit" name="submit" value="전송">
</form>

 

변경내용

fruit[] -> fruit

color[] -> color

스크립트도 동일합니다.

 

스크립트



function checkForm(frm){
    /* 체크박스가 하나도 선택되지 않았을때를 검증하는 소스인 것 같은데 사용되지 않으면 제거
    var chkbox1 = frm['fruit'];
    var chkbox2 = frm['color'];
    var cnt = 0;
    for (var i = 0 ; i < chkbox1.length; i++) {
        if (chkbox1[i].checked) {
           cnt++;
        }
    }
    for (var i = 0 ; i < chkbox2.length; i++) {
        if (chkbox2[i].checked) {
           cnt++;
        }
    }
    */
    document.frm.action = "form_result.php";
    document.frm.submit();
}

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 76
© SIRSOFT
현재 페이지 제일 처음으로