체크박스 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>
--출력페이지--
<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(); }
제이쿼리부분은 필요없어보이는데요
cnt를 계산해놓고 쓰는게 안보이네요