2013-03-19 3 views
2

한 페이지에 여러 양식이 있습니다. 모두 다음과 같습니다. ID 값은 변경되지만 옵션은 비슷할 수 있습니다.Jquery 라디오 버튼 양식 제출

<form class="test"><td>4000</td> 
<td align='center'><input type='radio' name='radio' value='car' checked></td> 
<td align='center'><input type='radio' name='radio' value='boat' ></td> 
<td align='center'><input type='radio' name='radio' value='Plane' ></td> 
<input type='hidden' name='id' value='4000'/> 
<input type='hidden' name='location' value='local'/> 
<div class="form" style="display: none;"> 
</div></form> 

JQuery를 사용하여 3 개의 라디오 버튼 중 하나를 선택하면 제출하려고합니다.

<script> 
$("input[name='radio']").click(function() { 
    var CurrectForm=$(this).parents('.test:first'); 
    $.post(
     'do.php', 
     CurrectForm.serialize(), 
     function(response) { 
      CurrectForm.find('#form').html(response); 
       show(response); 
     } 
    ); 
}); 
</script> 

나는 위와 비슷한 체크 박스와 드롭 다운 목록을 사용했다. 그러나 이것은 do.php 페이지에 값을 제출하는 것처럼 보이지 않습니다. 제출 된 값은 div 형식으로 표시됩니다. var_dump($_POST);을 수행하면 빈 배열이됩니다.

누군가 나를 올바른 방향으로 안내 할 수 있습니까? 감사합니다.

양식을 변경하면 이것이 작동하는 것 같습니다.

<td><form class="test"> 
<input type='radio' name='radio' value='car' checked> 
<input type='radio' name='radio' value='boat' > 
<input type='radio' name='radio' value='Plane' > 
<input type='hidden' name='id' value='4000'/> 
<input type='hidden' name='location' value='local'/> 
<div class="form" style="display: none;"> 
</div></form></td> 

왜 원인이 변경 되나요?

Jfiddle 작업 예 :)으로 http://jsfiddle.net/QvpH5/

+0

당신이 그것을 제대로 선택하는 경우'console.dir (CurrectForm가)'볼을 시도 해 봤나 :이 jsFiddle에서

봐는 수정 (변경 .parents .parent하기)를 참조하십시오? – JoeCortopassi

답변

0

내 생각 엔 클래스 test하여 페이지에 여러 형태가 있다는 것입니다. 무슨 일이 일어나고, parents()을 사용하면 은 먼저 모든 조상을 발견하고을 찾은 다음 .test:first을 검색합니다. 클릭 한 양식에 관계없이 맨 처음 양식의 값을 반환합니다. http://jsfiddle.net/SDzzr/

+1

고마워요, 문제는 부분적으로 여러 개의 양식 레이아웃 덕분 인 것 같습니다 (). 제안 사항이 있으십니까? – MacMan

+0

내가 제공 한 jsFiddle에서 코드를 볼 수 있었습니까? 문제를 해결하는 것 같았습니다 – JoeCortopassi

+0

레이아웃에 표를 추가 할 때까지 고마워요. 배열이 비어 있습니다. 그걸 지나가는 어떤 방법이라도? – MacMan