2014-05-09 5 views
0

다음 자바 스크립트 코드를 사용하여 양식을 제출하기 전에 적어도 하나의 무선 입력을 확인했지만 라디오가없는 경우에도 양식이 항상 제출되므로 문제가 있습니다. 입력을 확인했습니다 ... 누군가가 내가 여기에 무엇을 놓치고 어떻게 고칠 지 말해줌으로써 도움을받을 수 있습니까? 감사합니다Javascript 유효성 검사 라디오 입력이 작동하지 않습니다.

<script type="text/javascript"> 

function processPayment() { 
    if ($("input[name='orderAmount']:checked").length > 0){ 
     alert('OK'); 
     document.getElementById('orderFrm').submit(); 
     return false; 
    } 
    else{ 
     alert('Please select order amount'); 
    }  
} 

</script> 


<div id="content"> 
    <form id="orderFrm" name="orderFrm" action="https://...." method="post" target="_top"> 
     .... 

     <div class="orderamnt"> 
     <label for="orderAmount50"> 
      <span class="labelText">50</span> 
      <input type="radio" id="orderAmount50" name="orderAmount" value="50"/> 
     </label> 
     </div> 
     <div class="orderamnt"> 
     <label for="orderAmount100"> 
      <span class="labelText">100</span> 
      <input type="radio" id="orderAmount100" name="orderAmount" value="100"/> 
     </label> 
     </div> 
     <div class="orderamnt"> 
     <label for="orderAmount200"> 
      <span class="labelText">200</span> 
      <input type="radio" id="orderAmount200" name="orderAmount" value="200"/> 
     </label> 
     </div> 

     <a class="buyNowButton" href="javascript:{}" onclick="processPayment()">Order</a> 
     .... 
    </form> 
</div> 

참고 :이 변경 사항 라디오 버튼의 검사 할 때 내가 언급

:

<div id="orderamnt"> 
    <span class=""> 
     <input type="radio" id="orderAmount200" name="orderAmount" value="200"/> 

에를 ...

<div id="orderamnt"> 
    <span class="checked"> 
     <input type="radio" id="orderAmount200" name="orderAmount" value="200"/> 

분명히 라디오 입력 확인하지 않았으므로 그것이 분명히 내 편이 아니기 때문에 검증 할 수있는 방법이 있는지 궁금합니다. 라디오 버튼으로부터의 최초의 부모 스팬인가?

+0

아무 것도 선택하지 않으면 나를 제출하지 않습니다. http://jsfiddle.net/j08691/z22J4/. 또한 양식을 제출 한 후에 false를 반환 할 필요가 없습니다. – j08691

+0

실행중인 jQuery의 버전은 무엇입니까? 나는': checked' 년 전에 내가 최신 jQuery와 복제 할 수없는 문제를 상기 한 것 같습니다. –

+0

@ 75thTrombone Chrome 편집 도구를 사용하여 무선 입력을 선택/선택 취소 할 때 html이 변경되는 것을 발견 한 작은 질문을 추가했습니다. – MChan

답변

0

당신은 JQuery와 1.6.4 또는 +,이 코드가 작동을 사용 is()

if ($('input[name="orderAmount"]').is(':checked')) 
{ 
} 
+0

작동하지 않습니다. (thanks though – MChan

+0

작은 편집을 추가했습니다. 내 질문에 어떻게 html 변경/dev.exe 도구를 사용하여 무선 입력을 확인/체크 해제 변경 찾았습니다 – MChan

+0

이 하나가 작동합니다, 참조 : http : //stackoverflow.com/questions/15530582/check-if-a-radio-button- is-checked-jquery –

0

사용하여 다음과 같이 할 필요가!

$('.buyNowButton').click(function(){ 
    if ($("input[name='orderAmount']:checked").length > 0){ 
     document.getElementById('orderFrm').submit(); 
     return false; 
    } 
    else{ 
     alert('Please select order amount'); 
    }  
}); 
관련 문제