Checkboxy...Kde je chyba?

Sekcia: Programovanie 10.05.2014 | 21:49
Avatar 01Laky Fedora 20,Android,Windows 8.1 PRO  Používateľ

Dam tu kod...Nevie mi niekto povedat kde tam mam chybu?ja ju nevidim :(

<form name="form2" class="sandwich_menu">

  <input type="checkbox" name="check1" onclick="DisplayCost()" />Cheese<br/>

  <input type="checkbox" name="check2" onclick="DisplayCost()" />Turkey<br/>

  <input class="form_buttons" type="button" value="Reset" onclick="ClearSettings()"/>

  <input type="reset" class="form_buttons" value="Reset_b"/><br/>

  <div id="div1"></div>

 </form>

A FUNKCIE : 

function ClearSettings() {

 for (var pocet_poloziek=0;pocet_poloziek<document.form2.elements.lenght;pocet_poloziek++)

     {

      if (document.form2.elements[pocet_poloziek].type=="checkbox"){document.form2.elements[pocet_poloziek]=false}

     }

}

function DisplayCost() {

 var suma=0;

 for( var pocet_poloziek=0;pocet_poloziek<document.form2.elements.lenght;pocet_poloziek++)

    {

     if (document.form2.elements[pocet_poloziek].type=="checkbox" && document.form2.elements[pocet_poloziek].checked)

        {

         suma= suma+1;

        }

    }

 document.getElementById("div1").innerHTML="Celkova suma : " + suma.toPrecision(3);

}

    • RE: Checkboxy...Kde je chyba? 10.05.2014 | 23:32
      Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

      Máš tam preklep v slove lenght, správne má byť length. Poďalšie by si si mal zvyknúť na nejaký prehladnejší zápis kódu, napr. takto:

      <script>
        function ClearSettings () {
          for (var pocet_poloziek = 0; pocet_poloziek < document.form2.elements.length; pocet_poloziek++) {
            if (document.form2.elements[pocet_poloziek].type == "checkbox") {
              document.form2.elements[pocet_poloziek] = false;
            }
          }
        }
      
        function DisplayCost () {
      
          var suma = 0;
      
          for (var pocet_poloziek = 0; pocet_poloziek < document.form2.elements.length; pocet_poloziek++) {
            if (document.form2.elements[pocet_poloziek].checked) {
              // suma = suma+1;
              suma++;
            }
          }
          document.getElementById ("div1").innerHTML = "Celkova suma : " + suma;
        }
      </script>
      
      <form name = "form2" class = "sandwich_menu">
        <input type = "checkbox" name = "check1" onclick = "DisplayCost()" />Cheese<br/>
        <input type = "checkbox" name = "check2" onclick = "DisplayCost()" />Turkey<br/>
        <input class = "form_buttons" type = "button" value = "Reset" onclick = "ClearSettings()"/>
        <input type = "reset" class = "form_buttons" value = "Reset_b"/><br/>
        <div id = "div1"></div>
      </form>
      

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
      • RE: Checkboxy...Kde je chyba? 10.05.2014 | 23:34
        Avatar 01Laky Fedora 20,Android,Windows 8.1 PRO  Používateľ

        dakujem

        • RE: Checkboxy...Kde je chyba? 10.05.2014 | 23:38
          Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

          Nieje zač.

          Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org