Javascript - sprawdzanie formularza / zatrzymanie wysyłania

anika91
Użytkownik
Użytkownik
Posty: 172
Rejestracja: 11 paź 2009, o 19:54
Płeć: Kobieta
Lokalizacja: Gdańsk
Podziękował: 67 razy

Javascript - sprawdzanie formularza / zatrzymanie wysyłania

Post autor: anika91 »

Nie wiem co gubię, ale po sprawdzeniu formularza i wyskoczeniu alert-a zamiast zatrzymać działanie i nie wysyłać , to program pocztowy dalej mi się uruchamia... jak się z tym uporać ?? :

Kod: Zaznacz cały


<script type="text/javascript">

function przetwarzaj_dane() {
	
	var adresat = document.forms ['Formularz_dostawy'].Adresat.value;

	var error = false;

if (adresat == "") {
document.forms['Formularz_dostawy'].Adresat.style.border = "2px solid#FF0000";
alert('Nie wypełniłeś pola z nickiem!');
error=true;
}

if (uwagi == "") {
document.forms['Formularz_dostawy'].Uwagi.style.border = "2px solid#FF0000";
alert('Nie wypełniłeś pola z nickiem!');
error=true;
}

if (!error){

document.forms ['Formularz_dostawy'].submit();

}else{
	alert('nie wypełniłes wszystkich pól');
}


}
</script>

Kod: Zaznacz cały


<form action="mailto:adres@mail.pll?subject=Formularz Dostawy" method="post" enctype="text/plain" name="Formularz_dostawy" > 
 
  
<input name="Adresat" type="text"/>


<input type="submit" value="Zatwierdź" onClick="przetwarzaj_dane()" 

</form>
Dziękuje za pomoc !
smiechowiec
Użytkownik
Użytkownik
Posty: 374
Rejestracja: 21 cze 2007, o 11:28
Płeć: Mężczyzna
Lokalizacja: Łostowice
Pomógł: 146 razy

Javascript - sprawdzanie formularza / zatrzymanie wysyłania

Post autor: smiechowiec »

<input type="submit" value="Zatwierdź" onClick="przetwarzaj_dane()" >
Ten buton po wciśnięciu wykonuje submit więc, aby anulować tę operację należy w zadrzeniu onClick zwrócić wartość false

np

Kod: Zaznacz cały

<input type="submit" value="Zatwierdź" onClick="return przetwarzaj_dane();" >
A w kodze skryptu nie ma potrzeby wywoływać ręcznie zdarzenia submit, zamiast tegozwracamy true.
if (!error) {
document.forms ['Formularz_dostawy'].submit();
}else{
alert('nie wypełniłes wszystkich pól');
}
można to zamienić np tak

Kod: Zaznacz cały

if (error)
   alert('nie wypełniłes wszystkich pól');
return !error;
abc666

Javascript - sprawdzanie formularza / zatrzymanie wysyłania

Post autor: abc666 »

Możliwe, że w niektórych przeglądarkach będziesz przed returnem wrzuć

Kod: Zaznacz cały

returnValue=false;
ODPOWIEDZ