Skocz do zawartości
anika91

JavaScript - walidacja formularza

Rekomendowane odpowiedzi

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ć ?? :

 

<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>

<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 !

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spróbuj to:

<form (...) onsubmit="return false;" >(...)
Powinno zablokować event submit dla całego formularza, więc nie będzie się on wykonywał przy klikaniu na przycisk.

Druga opcja jest taka, że zamieniasz sobie type="submit" na type="button".

 

Btw, czy mi się wydaje, czy są 2x wyświetlane alerty (raz- przy danym polu, dwa- jeżeli error == false)?

Nie lubię czegoś takiego robić, bo to na dłuższą metę zniechęca ludzi - alert za alertem i co za tym idzie- ludzie muszą klikać, bo nie można wtedy nic zrobić na stronie. Ba, nie można zwykle zmienić też zakładki w przeglądarce.

 

action="mailto
To już total failure. Co, jeżeli się nie ma skonfigurowanego żadnego klienta poczty?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spróbuj to:

<form (...) onsubmit="return false;" >(...)
Powinno zablokować event submit dla całego formularza, więc nie będzie się on wykonywał przy klikaniu na przycisk.

Druga opcja jest taka, że zamieniasz sobie type="submit" na type="button".

 

Btw, czy mi się wydaje, czy są 2x wyświetlane alerty (raz- przy danym polu, dwa- jeżeli error == false)?

Nie lubię czegoś takiego robić, bo to na dłuższą metę zniechęca ludzi - alert za alertem i co za tym idzie- ludzie muszą klikać, bo nie można wtedy nic zrobić na stronie. Ba, nie można zwykle zmienić też zakładki w przeglądarce.

 

action="mailto
To już total failure. Co, jeżeli się nie ma skonfigurowanego żadnego klienta poczty?

 

Serdeczne dzięki :) racja niepotrzebne te alerty, . A sprawę uruchamiania poczty załatwił ten return w onsubmit w form .

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...