Autor Zpráva
ondra15
Profil
Dobrý den, mám formulář s několika checkboxy. Ověřuji, zda byl alespoň jeden zatržen následovně:
  <script type="text/javascript">
      function over() {
      if (document.auto.znacka[0].checked) window.alert("Alfa");
       else if (document.auto.znacka[1].checked) window.alert("BMW");
        else if (document.auto.znacka[2].checked) window.alert("Citroen");
         else if (document.auto.znacka[3].checked) window.alert("Ford");
      else
      window.alert("Nezatrzeno");
      }
    </script>
a HTML kód:
<form action="/odeslano.php" method="post" name="auto">
         <input type="checkbox" name="znacka" value="Alfa"> Alfa
          <input type="checkbox" name="znacka" value="BMW"> BMW
           <input type="checkbox" name="znacka" value="Citroen"> Citroen
            <input type="checkbox" name="znacka" value="Ford"> Ford
            <input type="submit" value="Odeslat" onClick="over();"> 
            </form>
Nyní bych potřeboval, aby v případě nezatržení žádné pole (a po vyskočení hlášky) nebyl formulář odeslán. Co musím dopsat do vetvě else? Lze skloubit můj požadavek s tlačítkem type=submit?

Děkuji
juriad
Profil
Zrušení odesílání formuláře
ondra15
Profil
juriad:
Toto jsem prošel. Ale nevím, jak přesně zakomponovat return true a return false. Dokazal byste mi poradit?
juriad
Profil
Přidal/upravil jsem zvýrazněné řádky
<script type="text/javascript">
function over() {
  if (document.auto.znacka[0].checked) window.alert("Alfa");
  else if (document.auto.znacka[1].checked) window.alert("BMW");
  else if (document.auto.znacka[2].checked) window.alert("Citroen");
  else if (document.auto.znacka[3].checked) window.alert("Ford");
  else {
    window.alert("Nezatrzeno");
    return false;
  }
  return true;
}
</script>

<form action="/odeslano.php" method="post" name="auto">
  <input type="checkbox" name="znacka" value="Alfa"> Alfa
  <input type="checkbox" name="znacka" value="BMW"> BMW
  <input type="checkbox" name="znacka" value="Citroen"> Citroen
  <input type="checkbox" name="znacka" value="Ford"> Ford
  <input type="submit" value="Odeslat" onClick="return over();"> 
</form>
ondra15
Profil
juriad:
Ok, funguje to. Děkuji za pomoc.
_es
Profil
juriad, ondra15:
Vhodnejšie je použiť udalosť formulára onsubmit.
ondra15
Profil
_es:
To mi nefunguje. Je nutné ještě něco změnit v kódu?

Už funguje, přepsal jsem se. Omlouvám se!

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: