Autor Zpráva
toredor
Profil
Ahoj,
potřeboval bych poradit. Mám vytvořený formulář a chci kontroloval zadané údaje pomocí JavaScriptu a PHP. Javascriptová kontrola mi jede vyhodí to chybu, ale okamžitě po zobrazení chyby se stránka přesměruje na jinou kde probíhá kontrola pomocí PHP. Má otázká zní jestli je možné nějak zastavit přesměrování formuláře a počkat na znovu odeslání?

Děkuji za odpověď.

ukázka kódu (kontrola ještě není celá jen zkouška abych vyladil funkčnost tak jak si to představuji):
<form class='registrace' action='vyhodnoceni.php?v=r' method='POST'>
<label class='registrace' for='nick'>přihlašovací jméno: *</label><input class='registrace' type='text' id='nick' name='nick' size='25' />
<label class='registrace' for='heslo'>heslo: *</label>   <input class='registrace' type='password' id='heslo' name='heslo' size='25' /> 
<label class='registrace' for='poheslo'>potvrzení hesla: *</label><input class='registrace' type='password' id='poheslo' name='poheslo' size='25' /> 
    
<label class='registrace' for='mail'>e-mail: *</label> <input class='registrace' type='text' id='mail' name='mail' size='25' />
<label class='registrace' for='jmeno'>jméno: *</label><input class='registrace' type='text' id='jmeno' name='jmeno' size='25' /> 
<label class='registrace' for='prijmeni'>příjmení: *</label><input class='registrace' type='text' id='prijmeni' name='prijmeni' size='25' /> 
 
<input class='registrace' onclick='kontrola()' type='submit' name='ulozit' value='uložit' />
    
</form> 
<script language="javascript" type="text/javascript">
   function kontrola(){
   var heslo = document.getElementById('heslo').value;
   var poheslo = document.getElementById('poheslo').value;
   var mail = document.getElementById('mail').value;
   
   if (heslo == poheslo)window.alert("hesla jsou stejná");
   else window.alert("hesla nejsou stejná");
   
   email=/^.+@.+\..{2,4}$/     // kontrola mailu                                       
   if (email.test(mail)==true) window.alert("správný formát adresy");
   else window.alert("špatně zadaná adresa");
   }
  </script>
_es
Profil
toredor:
No a kde máš funkciu kontrola použitú?

Javascriptová kontrola mi jede vyhodí to chybu
Akú chybu? V uvedenom kóde žiaden JS spustený nie je.
toredor
Profil
Opravil jsem chyběl mi poslední řádek formuláře. Chybu mi to vyhodí pouze tehdy když zadám špatné údaje. Toto mi funguje, ale potřebuji počkat na opravení údajů a nové odeslaní formuláře.
Keeehi
Profil
toredor:
Událost nevázat na onclick inputu, ale na onsubmit formu.

function kontrola() {
    var bezchyb = true;
    var heslo = document.getElementById('heslo').value;
    var poheslo = document.getElementById('poheslo').value;
    var mail = document.getElementById('mail').value;

    if (heslo != poheslo) {
        bezchyb = false;
        window.alert("hesla nejsou stejná");
    }

    email=/^.+@.+\..{2,4}$/     // kontrola mailu                                       
    if (email.test(mail) !=true) {
        bezchyb = false;
        window.alert("špatně zadaná adresa");
    }

    return bezchyb;
}
toredor
Profil
Předělal jsem na onsubmit formu, ale pořád se mi stránka přesměruje po zobrazení chybových hlášení na jinou stránku nepočká na opravu zadávaných údajů.
_es
Profil
toredor:
<form onsubmit="return kontrola()"
toredor
Profil
super funguje díky :-)

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: