2016-06-11 3 views
0

다음과 같이 4 개의 라디오 버튼 그룹이있는 양식을 작성했습니다. 또한 2 개의 제출 버튼이 있습니다. 그룹당 하나의 라디오 버튼을 선택하지 않고 사용자가 양식을 제출하지 못하도록하고 싶습니다. (즉, 제출할 양식에 대해 4 개의 라디오 버튼을 선택해야합니다.)모든 라디오 버튼이 선택된 경우에만 제출 버튼을 활성화하는 방법은 무엇입니까?

나는 이것에 대한 게시물의 사전 조언을 따랐지만 라디오 버튼 그룹에서는 작동하지 않는 것으로 보인다. 이것에 대해 조언이 있습니까?

<form action="http://test/" method="post" accept-charset="utf-8"> 
<table> 
    <tbody> 
     <tr> 
      <td><label><input type="radio" name="item_6" value="0" class="radio1"> foo</label></td> 
      <td><label><input type="radio" name="item_7" value="0" class="radio2"> foo</label></td> 
      <td><label><input type="radio" name="item_8" value="0" class="radio3"> foo</label></td> 
      <td><label><input type="radio" name="item_9" value="0" class="radio4"> foo</label></td> 
     </tr> 
     <tr> 
      <td><label><input type="radio" name="item_6" value="1" class="radio1"> bar</label></td> 
      <td><label><input type="radio" name="item_7" value="1" class="radio2"> bar</label></td> 
      <td><label><input type="radio" name="item_8" value="1" class="radio3"> bar</label></td> 
      <td><label><input type="radio" name="item_9" value="1" class="radio4"> bar</label></td> 
     </tr> 

     <tr> 
      <td><label><input type="radio" name="item_6" value="2" class="radio1"> baz</label></td> 
      <td><label><input type="radio" name="item_7" value="2" class="radio2"> baz</label></td> 
      <td><label><input type="radio" name="item_8" value="2" class="radio3"> baz</label></td> 
      <td><label><input type="radio" name="item_9" value="2" class="radio4"> baz</label></td> 
     </tr> 
     <tr> 
      <td><label><input type="radio" name="item_6" value="3" class="radio1"> hat</label></td> 
      <td><label><input type="radio" name="item_7" value="3" class="radio2"> hat</label></td> 
      <td><label><input type="radio" name="item_8" value="3" class="radio3"> hat</label></td> 
      <td><label><input type="radio" name="item_9" value="3" class="radio4"> hat</label></td> 
     </tr> 
     <tr> 
      <td><label><input type="radio" name="item_6" value="9" class="radio1"> user</label></td> 
      <td><label><input type="radio" name="item_7" value="9" class="radio2"> user</label></td> 
      <td><label><input type="radio" name="item_8" value="9" class="radio3"> user</label></td> 
      <td><label><input type="radio" name="item_9" value="9" class="radio4"> user</label></td> 
     </tr> 
    </tbody> 
    <tbody> 
     <tr> 
      <td><button type="submit" disabled="disabled" name="submit_form" value="save_more"> 
       Save & More</button> 
      </td> 
     </tr> 
     <tr> 
      <td><button type="submit" disabled="disabled" name="submit_form" value="save_logout"> 
       Save & LOGOUT</button> 
      </td> 
     </tr> 
    </tbody> 
</table> 
</form> 

JS :

<script type="text/javascript"> 
$(function(){ 
    $("input[type='radio']").change(function(){ 
     $("input[type='submit']").prop("disabled", false); 
    }); 
    }); 
</script> 
+0

양식 태그의 제출 이벤트에 가입해야하고, 그것은 당신의 criterea 일치하는 경우에서는 event.preventDefault()가 제출을 방지하기 위해. – HelloWorld

+0

순수 PHP에서이 작업을 수행 할 수 있습니다. –

+0

이 HTML은 (CodeIgniter를 사용하여) 뷰에서 반복하여 생성됩니다. 제안이 있으면 알려주세요. – pepe

답변

4

단순히 각 그룹의 요소 중 하나에 속성 "요구"를 추가 아래

는 HTML입니다. HTML 표준에 정의되어 있습니다. 브라우저가 나머지 부분을 처리합니다.

Refer this similar question

+0

제출 버튼을 사용하도록 설정했는데 내 HTML 출력은 ''입니다. 여전히 양식을 제출합니까 - 제가 잘못하고 있습니까? – pepe

+0

여기에서 효과가 있습니다. 브라우저가이 테스트를 구현하지 않아야합니다. 업데이트를 시도하십시오. 또는 언급 된 SO 질문을보고 그러한 예를 시도하십시오. 그들은 모두 여기서 일합니다. –

+0

모든 항목이 뷰에서 동적으로 생성되므로 모든 그룹의 모든 단일 라디오 버튼에'required' 속성이 있습니다. 그게 문제 야? – pepe

관련 문제