Autor Zpráva
TomasRe
Profil
Dobrý den,

chtěl bych ověřit ve formuláři 2 řádky - email + další textový řádek, který nesmí být prázdný. Funguje mi to zatím napůl - ověří to v případě, že kontroluji, jestli políčka nejsou prázdná. Potřeboval bych, aby to ale kontrolovalo u emailu správný zápis. Něco jako toto:


<script language="javascript">
function over(f) {
var vysledek = true;
var strerr = "";
if (f.email.value.indexOf(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)==-1) strerr += "E-MAIL\n";
if (f.soubora.value=="") strerr += "NÁZEV SOUBORU";
if ("" != strerr) {
    vysledek = false;
    alert("Prosím, vyplňte \n\n" + strerr);
    }
return vysledek;
}
</script>

<body>
<form action="" method="post" onsubmit="return over(this);">
<input type="text" name="email" /><br />
<input type="text" name="soubora" /><br />
<input type="submit" />
</form>
TomasRe
Profil
Tak už jsem to našel díky stránkám:

http://blog.tukni.cz/tvorba-www-stranek-jquery-ajax/kontrola-dat-pomoci-java-scriptu/

Moc děkuji autorovi...


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Kontrola odesílaných dat pomocí Java Scriptu</title>    
  <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
  <meta http-equiv="content-language" content="cs" />
    <meta name="description" content="Kontrola odesílaných dat pomocí Java Scriptu" />
    <meta name="keywords" content="kontrola odesílaných dat, java script" />
    <meta name="author" content="Jiří Černý (tvorbawebu@email.cz)" />
    <meta name="robots" content="all,follow" />

</head>
<body>

<form id="formular" action="#" method="post" onsubmit="return test()">
    <div id="contact">
        Jméno: <input type="text" name="jmeno" /><br />
        E-mail: <input type="text" name="email" /><br />
    Text: <br /><textarea cols="50" rows="8" name="text"></textarea><br />            
        <input type="submit" name="odeslat" value="Odeslat formulář" />
    </div>
</form>
    <script type="text/javascript">
    /* <![CDATA[ */

    function test_email(adresa) {
      re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,4}$/;
      return adresa.search(re) == 0;
    }

    function test() {
      if(document.forms.formular.jmeno.value == '') {
      alert("Není vyplněno Vaše jméno!");
      document.forms.formular.jmeno.focus();
      return false;
      }
      else if(document.forms.formular.email.value == '') {
      alert("Není vyplněn Váš e-mail!");
      document.forms.formular.email.focus();
      return false;
      }
      else if(!test_email(self.document.forms.formular.email.value)) {
      alert("Zadaná emailová adresa není ve správném formátu!!");
      document.forms.formular.email.focus();
      return false;
      }
      else if(document.forms.formular.text.value == '') {
      alert("Není vyplněn text!");
      document.forms.formular.text.focus();
      return false;
      }
      else {
      return true;
      }
    }

    /* ]]> */
   </script>


</body>
</html>
scheras
Profil *
A co když bude mit uživatel zakazany javascript?
TomasRe
Profil
scheras:
Tak to nevím, nějaká rada?
preca1
Profil
Tak se JS kontrola vůbec neprovede a je potřeba ta data zkontrolovat na serveru.

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: