2010-12-07 3 views
2

Internet Explorer의 모든 버전에서 작동하지 않는 것을 디버깅하려고합니다.Internet Explorer에서이 기능이 작동하지 않는 이유는 무엇입니까? [jQuery, radio, selectors]

여기에 코드입니다 :

<div id="sondage"> 
    <input type="radio" name="reponse" value="oui" id="oui"> 
    <label for="oui">Oui</label> 

    <input type="radio" name="reponse" value="non" id="non"> 
    <label for="non">Non</label> 
</div> 

<script type="text/javascript" charset="utf-8"> 
$(function(){ 

    $('#oui, #non').click(function(){ 
     reponse = $('input[name=reponse]:checked').val(); 
     sondage_id = <?php echo $sondage->id ?>; 

     $.ajax({ 
      type: "GET", 
      url: "<?php echo url_for('@sondage_repondre') ?>", 
      data: "reponse="+reponse+"&id="+sondage_id, 
      success: function(msg){ 
       resultat = msg.split('|'); 

       if (resultat[0] == "true") { 
        $('#sondage_message').html("<?php echo __('Merci.') ?>"); 
       } else { 
        $('#sondage_message').html("<?php echo __('Désolé, vous avez déjà voté pour ce sondage. Merci.') ?>"); 
       } 
       $('#sondage').html(resultat[1]); 
      } 
     }); 

    }); 

}); 
</script> 

오류가 라인 (reponse = $('input[name=reponse]:checked').val();)에 발생합니다.

무슨 일이 일어나는지 생각해보십시오.

감사합니다.

편집 : 질문으로 :

Line 511, Char 7, Object doesn't support this property or method. 

그리고 여기에 전체 출력의 : 오류는 다시 http://pastie.org/1355610

감사합니다!

+1

오류의 원인이되는 행이 맞습니까? 나는 IE의 라인 번호를 신뢰하지 않지만, 그 값을 하드 코딩하여 검증 할 수있다. 어떤 오류가 발생합니까? 실제 소스 대신 렌더링 된 코드 ("소스보기")로 질문을 업데이트 해 주실 수 있습니까? ' id'가 문자열이나 빈 값을 생성하면, 이것은 어떤 브라우저에서든 깨질 것입니다. –

+0

당신은 완전히 옳았습니다. 문제를 업데이트했습니다. 감사합니다 :) – TomShreds

+0

IE에서 얻는 오류 메시지는 무엇입니까? – Phrogz

답변

5

당신은 거기에 var 누락하고, 그것이 있어야 :

var reponse = $('input[name=reponse]:checked').val(); 

같은가 다른 변수에 간다 ... 그들이 어디에 관계없이 항상 그들을 선언 var를 사용하지,하지 항상 허용되지는 않는 암시적인 전역 정의에 의존합니다.

+0

하지만 암시 적으로 변수를 선언하는 것은 완벽합니다. 그 스크립트가 쓰레기를 일으키지 않아야합니다. 그러나 명시 적으로 변수를 선언하는 것이 더 나은 코딩 방법입니다. – Metagrapher

+0

Internet Explorer에 @metagrapher가 없습니다! – Pointy

+0

@ Metagrapher - 유효하지 않은 경우도 있습니다 * 경우에 따라 허용됩니다. 두 가지 모두 나쁜 습관입니다. –

관련 문제