Autor Zpráva
Tonda
Profil *
Zdravím, potřebuji pomoct s polema. Mám e-shop a dělám košík. Když kliknu v košíku na pokračovat v objednávce, tak zde potřebuji vytvořit několik formulářů, kde musí zadat kupující jméno, příjmení, město atd.. ostatně jako ve všech e-shopech. Formuláře mám vytvořené a teď potřebuju, aby mě to nepustilo dál, když nic nikde nevyplním nebo bude například nevyplněná jen jedna část, aby vyskočil alert, že to musím dopsat!

Zatím mám jen funkční formulář na e-mail, takhle (z tohoto webu je to)

<script>
function kontrolaDat(vstup){
zadanaHodnota = vstup.email.value; // načtena hodnota (value) z políčka s name=email
if( zadanaHodnota.indexOf("@") == -1) // zavináč se nevyskytuje
{alert("neni zavináč"); return false;}
else return true;
}
</script>

<form action="nejaky_serverovy_skript" onsubmit="return kontrolaDat(this)">
Zadejte email: <input type="text" name="email" value="">
<input type="submit" value="odeslat">
</form>

.. Takhle bych to potřeboval pro všechny formy, ale nevím jak s kódem. Mohl by mi prosím někdo poradit! Děkuji..
johnl
Profil
Asi to nebude úplně bez chybičky, je to splácané z jiných kódů, ale jako ukázka toho jak to udělat si myslím že to postačí.. :))
<form name="nazev_formu" method="post" action="pryc.php">
<input type="text" name="email">
<input type="submit" name="submit" value="Odeslat" onClick="return form_kontrola();">
</form>

<script type="text/javascript">
function mail_kontrola(adresa)
{
  re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$/;
  return adresa.search(re) == 0;
}

function form_kontrola()
{
  //Ověření emailu
  if (!mail_kontrola(self.document.forms.nazev_formu.email.value))
  {
    alert("Adresa emailu je ve špatném formátu");
    return false;
  }
    
    //nevyplnění prvku
    delka = document.forms.nazev_formu.dalsi_input.value.length;
    
    if (delka == 0) 
    {
    alert("Text zprávy musí být vyplněn");
    return false;
    }
  return true;  
}
</script>
Tonda
Profil *
Díky moc :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0