-1

HTMLドキュメントで4つの質問を作成し、関数はjqueryで作成しました。このプログラムは Safari、Google Chrome、Mozilla Firefox では動作しますが、Internet Explorer では動作しません。私のプログラムを Internet Explorer でも動作させる方法を知っている人はいますか?

  <html>    
    <head>
        <title>Inboedelwaardemeter</title>
         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">

               function checkTotal() {
                   var a =  document.querySelectorAll('input:checked'); 
                   var total = 0;
                   for(var x=0; x < a.length;x++){
                      total += parseFloat( a[x].value );
                   }
                  alert('Uw puntenaantal is '+ total+'. Kunt u dit aantal en uw postcode, huisnummer en eventuele toevoeging terugsturen naar warnersteinfort@gmail.com');
                }
        </script>
    </head> 
    <body>
    <center><h1>Inboedelwaardemeter</h1></center>
        <b> Leeftijd hoofdkostwinner:</b>
        <form name="mijnForm1">
        <br>
            <input type="radio" id="getal1" name="leeftijd"
                value="22" checked> 35 jaar en jonger
              <br>    
            <input type="radio" id="getal2" name="leeftijd"
                value="29"> 36 t/m 50 jaar
              <br>
            <input type="radio" id="getal3" name="leeftijd"
                value="38"> 51 jaar en ouder
              <br>
            <br>
        <b> Samenstelling huishouden:</b>
        <br>
        <form name="mijnForm2">
            <input type="radio" id="getal4" name="huishouden"
                value="0" checked> Alleenstaande
              <br>    
            <input type="radio" id="getal5" name="huishouden"
                value="10"> Echtpaar / Samenwonende
              <br>
              <br>  
        <b> Netto maandinkomen hoofdkostwinner</b>
        <br>
        <form name="mijnForm3">
            <input type="radio" id="getal6" name="hoofdkostwinner"
                value="0" checked> Tot en met €1000,-
              <br>    
            <input type="radio" id="getal7" name="hoofdkostwinner"
                value="6"> €1001,- tot en met €2000,-
              <br>
            <input type="radio" id="getal8" name="hoofdkostwinner"
                value="18"> €2001,- tot en met €3000,-
             <br>
            <input type="radio" id="getal9" name="hoofdkostwinner"
                value="23"> €3001,- tot en met €4850
                  <br>
            <input type="radio" id="getal10" name="hoofdkostwinner"
                value="23"> €4850,- of hoger
            <br>
            <br>
            <b> Woonoppervlakte woning</b>
            <br>
        <form name="mijnForm4">
            <input type="radio" id="getal11" name="Oppervlakte"
                value="0" checked> tot en met60m²
              <br>    
            <input type="radio" id="getal12" name="Oppervlakte"
                value="0"> 60m² tot en met 80m²
              <br>
            <input type="radio" id="getal13" name="Oppervlakte"
                value="2">80m² tot en met 100m²
             <br>
            <input type="radio" id="getal14" name="Oppervlakte"
                value="6"> 100m² tot en met 120m²
                  <br>
            <input type="radio" id="getal15" name="Oppervlakte"
                value="8"> 120m² tot en met 150m²
                  <br>
            <input type="radio" id="getal16" name="Oppervlakte"
                value="20"> 150m² t/m 200m²
                  <br>
            <input type="radio" id="getal17" name="Oppervlakte"
                value="23"> 200 m² en meer
            <br>
        </form>
         <button onclick="checkTotal();">Bereken aantal punten</button>
         <center>
         Heel erg bedankt voor uw medewerking! 
         <br>
         Groetjes Warner Steinfort
        </center
    </body>
 </html>  
4

2 に答える 2

1

引数はdocument.querySelectorAll()、有効な CSS セレクターで機能します。:checked有効な CSS3 セレクターですが、IE8 が実装した CSS 2.1 には存在しません。

jQuery を使用して要素を見つけることができます$('input:checked')- :checkedIE8 のポリフィルを使用してクロスブラウザー機能を提供するものを参照してください。

または、jQuery を使用しない場合は、別の方法を使用して、<input>チェックされている要素を見つけることができます。たとえば、すべての<input>要素を見つけてから、プロパティのチェックをループすることができcheckedます。

于 2013-03-01T08:52:28.087 に答える
0

参考までに、 document.querySelectorAllは IE9 と IE10 でのみサポートされています。IE6 および 7 を使用している場合、これは機能しない可能性があります。IE8 では、CSS2 セレクターを使用しない場合、これは機能しない可能性があります。querySelectorAll を使用する代わりに、それぞれ jQuery を使用します。コードを置き換えるだけ

var a =  document.querySelectorAll('input:checked'); 
  var total = 0;
  for(var x=0; x < a.length;x++){
  total += parseFloat( a[x].value );
}

このONEで

 var total = 0;
   $("input:checked").each(function () {
     total += parseFloat($(this).val());
   });
于 2013-03-01T09:11:18.263 に答える