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

form 질문 부탁드립니다.. 채택완료

바트컨트롤 5년 전 조회 1,492

지난번에 물어서 해결이 되긴했는데..

다른 방식으로 짜야할 것 같아서...

 

여쭤보는 바 입니다 ㅠㅠ

--폼화면--

</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개

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

인풋 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개

바트컨트롤
5년 전
감사합니다!!ㅠㅠ

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

5년 전

채택된 답변 처럼했으면 안될텐데 ㅎㅎㅎ

다음을 참조해 보시죠.

 

</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>

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

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

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

로그인