Autor Zpráva
Kindy
Profil
Uživatel si vybere nějaký přepínač, který mu dám k dispozici:

<html>

  <head>
  
    <script language="javascript">

      function Ukaz()
      {
          if(document.formular.r1.value=="1")
              {
                  alert("Jedna");
              }
          else
              {
                  alert("Dva");
              }
      }

    </script>

  </head>

    <body>
    
      <form name="formular">
          Jedna.. <input type="radio" name="r1" value="1" /><br />
          Dva.. <input type="radio" name="r1" value="2" /><br />
          <input type="button" value="Jedna nebo Dva?" onclick="Ukaz()" />
      </form>
      
    </body>
    
</html>

A kámen úrazu je ASI na místě: if(document.formular.r1.value=="1")

Já to chápu tak, že se začne po stisknutí tlačítka "Jedna nebo Dva" vyhodnocovat (prohlížeč to vyhodnotí) jaký value u r1 bylo škrtnuto, neboli jakou mělo i value.

Proto jsem dal tu podmínku if(document.formular.r1.value=="1")

Jak to ale udělat jinak KDYŽ TO NEFUNGUJE?

U checkboxu bych si poradil - tam můžou mít atributy name rozdílnou hodnotu.. Ale u "přepínače - radio" musí mít atributy name hodnotu stejnou.

Jak z toho ven abych docílil toho, ŽE UŽIVATEL SI VYBERE JEDEN RADIO A SKRIPT NA TEN VÝBĚR UŽIVATELE BUDE REAGOVAT?

Díky za odpovědi :)
Trejpa
Profil
Kindy:
Pro několik políček to můžeš udělat jednoduše, stačí si je postupně ověřit na jejich zaškrtnutí:
function Ukaz()
  {
  var hodnota = "";
  if (document.formular.r1[0].checked) hodnota=document.formular.r1[0].value;
  if (document.formular.r1[1].checked) hodnota=document.formular.r1[1].value;
  window.alert(hodnota);
  }


Pro neznámý počet položek, jejich větší množství nebo více podobných seznamů je vhodné použít cyklus ve funkci, která se bude volat s objektem konkrétního seznamu zatržítek ve svém parametru.

Zjištění hodnoty z <input type=radio>
Kindy
Profil
Trejpa:
Děkuju Vám moc! :)

Dal jste mi novou informaci, že se dá přistupovat k prvkům přepínače pomocí indexů.

Děkuju :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: