Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mam problem z prawidłowym wywołaniem funkcji za pomocą onsubmit
Thermosboss
post 17.02.2011, 07:17:51
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.02.2011

Ostrzeżenie: (0%)
-----


Witam wszystkich, w związku z tym, że w js dopiero raczkuję, ogromnie proszę o wsparcie.
Wydaje mi się, że problem nie jest złożony ale już wiele godzin bezskutecznie szukam rozwiązania.


Mój problem leży w tym, że po wypełnieniu formularza potrzebuję wywołać kilka funkcji w onsubmit

W zasadzie wszystko działa dobrze poza tym, że wywołują się w złej kolejności?


W tej chwili mam taką akcję, że po kliknięciu submit, otwiera się prawidłowo okno, które jest celem formularza,
jako mały popup potwierdzający rejestrację. W dużym oknie otwiera się nowa strona do której przechodzimy
po rejestracji i funkcja sprawdzająca poprawność formularza także działa.

Jednak, gdy formularz jest wypełniony błędnie, to pojawia się alert o tym, że są błędy ale popup
i przejście do nowej strony i tak są realizowane.

Mój problem polega na tym, że nie wiem co i jak zmienić w kodzie aby dopiero poprawność formularza
wiązała się z wykonaniem akcji, których oczekuję. Czyli najpierw funkcja SprawdzFormularz(this);
a dopiero gdy jest wypełniony prawidłowo, otwiera się popup i przechodzi do nowej strony.



  1. <form target="celformularza" action="post.php" name="forma1" method="post"
  2. onSubmit="window.open('','celformularza', 'width=400,height=280'); window.open('http://jakisadres.pl', '_top');
  3. return SprawdzFormularz(this);">
  4. tutaj pola formularza...
  5. </form>



Mam nadzieję, że to co napisałem jest zrozumiałe...
Na wszelki wypadek podaję jeszcze kod funkcji SprawdzFormularz ale to gotowiec, więc chyba nie ma nic wspólnego?


  1. <script language="javascript"> function SprawdzFormularz(f) { if (f.email.value=='')
  2. { alert('Nie podałeś/aś adresu e-mail.'); return false; } if ( ((f.email.value.indexOf('@',1))==-1)||(f.email.value.indexOf('.',1))==-1 )
  3. { alert('Podałeś/aś błędny adres e-mail'); return false; } if (f.imie.value=='') { alert('Nie podałeś/aś swojego imienia'); return false; }
  4. if (f.pp.checked == false ) { alert('Musisz zgodzić się z Polityką Prywatności.'); return false; } else { return true; } } </script>



Bardzo proszę o rozwiązanie, bo brak mi pomysłów i niestety umiejętności wstydnis.gif

Ten post edytował Thermosboss 17.02.2011, 08:24:31
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:10