2011-11-02 6 views
1

나는 양식을 가지고 및 라디오를 선택하지 그 경우 게시물을 해제하려고하지 :양식 제출을 선택하기 전에이를 비활성화하는 방법은 무엇입니까?

function checkForm(obj){ 
      var return_value = true; 
      var error_msg = 'Some text: '+'\n'; 

      $("input[type='radio']:not(:checked)").each(function() { 
       error_msg += $(this).next().text() + ", "; 
      }); 

      if(!return_value) 
       alert(error_msg); 

      return return_value; 
     } 

형태 :

<form name="test1" method="post" action="result.php" onsubmit="return checkForm(this);"> 
    <span id="q2"><h4>My question</h4></span> 

    <ul> 

    <li><input type="radio" name="answer[2]" value="5" />a1</li> 

    <li><input type="radio" name="answer[2]" value="6" />a2</li> 

    <li><input type="radio" name="answer[2]" value="7" />a3</li> 
    <li><input type="radio" name="answer[2]" value="8" />a4</li> 
    </ul> 
    </div> 
    <div><input type="submit" value="Send!" name="submit" class="button" id="start" /></div> 
</form> 

그러나 어떤 경고 쇼와 양식이 제출됩니다.

답변

1

당신은

$('form[name=test1]').submit(function(){     
     var return_value = false;    
     var error_msg = 'Some text: '+'\n'; 
     $("input[type='radio']").each(function() { 
      if ($(this).attr('checked')){ 
       return_value = true; 

      } else { 
       error_msg += $(this).next().text() + ", "; 
      } 
       }); 

     if(!return_value)     
       alert(error_msg);    

     return return_value;   
      }); 

을이을 시도하고 HTML에 onsubmit 기능을

+0

완벽 함을 보여 주지만 이드를 보여주지는 않는다. Jus'null' : error_msg + = $ (this) .next(). attr ('id') + ","; ' – skywind

+0

당신은 값과 이름 속성을 가진 라디오 박스에 대해 id가 없습니다. 값을 얻으려면'$ (this) .next(). val()'을 사용하십시오. – run

4

초기 값이 true이므로 라디오 버튼을 선택하지 않은 경우 return_valuefalse으로 설정해야합니다.

+0

감사를 제거 할 수 있습니다! 그러나 만약 내가 전부를 쳤다면, 경고 ( – skywind

관련 문제