form 질문 부탁드립니다.. 채택완료
지난번에 물어서 해결이 되긴했는데..
다른 방식으로 짜야할 것 같아서...
여쭤보는 바 입니다 ㅠㅠ
--폼화면--
</p>
<p><code><form name ="frm" action="return form_depth1(this)" method="POST"> </code></p>
<p><code> <label><input type="checkbox" id="fruit" name="fruit" value="사과">사과</label></code></p>
<p><code> <label><input type="checkbox" id="fruit" name="fruit" value="딸기">딸기</label></code></p>
<p><code> <label> <input type="checkbox" id="fruit" name="fruit" value="바나나">바나나</label></code></p>
<p> </p>
<p><code> <label><input type="checkbox" id="color" name="color" value="노랑">노랑</label> </code></p>
<p><code> <label><input type="checkbox" id="color" name="color" value="파랑">파랑</label></code></p>
<p><code> <label><input type="checkbox" id="color" name="color" value="빨강">빨강</label> </code></p>
<p><code> <input type="submit" name="submit" value="전송"></code></p>
<p><code></form></code></p>
<p><code>
--제이쿼리--
</p>
<p><code>//form_submit
function form_depth1(f){
fruit_group="";
$("input[name=fruit]:checked").each(function() {
fruit_group+= $(this).val()+",";
});
f.fruit.value = fruit_group;</code></p>
<p> </p>
<p><code> color_group="";
$("input[name=color]:checked").each(function() {
color_group+= $(this).val()+",";
});
f.color.value = color_group;</code></p>
<p><code> f.action = "/form_result.php";</code></p>
<p><code>}</code></p>
<p>
--출력---
</p>
<p><?php</p>
<p>$fruit= $_POST['fruit']; </p>
<p>$color= $_POST['color'];</p>
<p> </p>
<p>echo $fruit;</p>
<p>echo $color;</p>
<p>?></p>
<p>
이렇게해서 넘겼는데
fruit_group를 alert 띄우면 다 넘어가는데
f.fruit.value이게 안먹는것 같아요,,,
무슨 문제가 있을까요..ㅠ?
답변 2개
인풋 name=fruit 가 이미 사용되고 있어서 입니다.
</span></p>
<p><span style="font-family:맑은 고딕;"><input type="hidden" name="post_fruit"></span></p>
<p><span style="font-family:맑은 고딕;"><input type="hidden" name="post_color"></span></p>
<p><span style="font-family:맑은 고딕;">
이렇게 히든값을 주고시 자바스크립트에서
</span></p>
<p><span style="font-family:맑은 고딕;"><code>f.post_fruit.value = fruit_group;</code></span></p>
<p><span style="font-family:맑은 고딕;"><code>f.post_color.value = color_group;</code></span></p>
<p><span style="font-family:맑은 고딕;"><code>
이렇게 넘겨주시고
php에서
</code></span></p>
<p><span style="font-family:맑은 고딕;"><code>$fruit= $_POST['post_fruit'];</code></span></p>
<p><span style="font-family:맑은 고딕;"><code>$color= $_POST['post_color'];</code></span></p>
<p><span style="font-family:맑은 고딕;">
이렇게 받아보세요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
채택된 답변 처럼했으면 안될텐데 ㅎㅎㅎ
다음을 참조해 보시죠.
</p>
<p><form name ="frm" method="POST" onsubmit="return form_depth1(this);">
<input type="hidden" name="fruit_val" value="">
<label><input type="checkbox" id="fruit0" name="fruit[]" value="사과">사과</label>
<label><input type="checkbox" id="fruit1" name="fruit[]" value="딸기">딸기</label>
<label> <input type="checkbox" id="fruit2" name="fruit[]" value="바나나">바나나</label></p>
<p> <input type="hidden" name="color_val" value="">
<label><input type="checkbox" id="color0" name="color[]" value="노랑">노랑</label>
<label><input type="checkbox" id="color1" name="color[]" value="파랑">파랑</label>
<label><input type="checkbox" id="color2" name="color[]" value="빨강">빨강</label>
<input type="submit" name="submit" value="전송">
</form></p>
<p><script>
//form_submit
function form_depth1(f){
fruit_group="";
$("input[name='fruit[]']:checked").each(function() {
fruit_group += $(this).val()+",";
});
f.fruit_val.value = fruit_group;
alert(f.fruit_val.value);
color_group="";
$("input[name='color[]']:checked").each(function() {
color_group += $(this).val()+",";
});
f.color_val.value = color_group;
alert(f.color_val.value);</p>
<p> f.action = "/form_result.php";
}</p>
<p></script></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인