Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] problem ze skryptem wywoływanym przez onsubmit
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

mam formularz wyszukiwarki i zrobiłem coś takiego: napisałem funkcje w js, która działa w chwili wysłania formularza (onsubmit) i na początku sprawdza, czy pole jest puste, jeśli tak, to wyświetla komunikat, a jeśli nie, to wczytuje ajaxem stronę przetwarzającą do diva na stronie z formularzem.
Wygląda to tak:
  1. <form onsubmit="szukaj()">
  2. <input type="text" id="q" />
  3. </input type = "submit" value="szukaj">
  4. </form>


A to już funkcja:
  1. function szukaj() {
  2.  
  3. var zapytanie = document.getElementById('q').value;
  4.  
  5. if (zapytanie != 0) {
  6. var adres = "szukaj.php?q=" + zapytanie;
  7. getData(adres, 'wyniki');
  8. return false;
  9. }
  10.  
  11. else {
  12. alert("Musisz coś wpisac");
  13. return false;
  14. }


I teraz problem polega na tym, że w FF wszystko jest ok, natomiast w IE po wpisaniu tekstu i kliknięciu w enter lub po wciśnięciu przycisku szukaj wykonuje sie funkcja, a następnie formularz wysyła sie w standardowy sposób, co tylko przeładowuje mi stronę i nic sie w efekcie nie wyświetla.

Jak to naprawić.
BTW. w FF tez tak było, ale jak dałem return false w obydwu, to teraz działa normalnie, ale IE to już całkiem co innego, strasznie oporna ta przeglądarka.

Proszę o pomoc.
wojckr
  1. <form onsubmit="szukaj();return false">

Może tak?
Wtedy chyba w szukaj() nie potrzebne by było return false;
zzeus
Spróbuj tak

Kod
<form onsubmit="return szukaj();">
puz219
nie ma szans, nie działa, choćby nie wiem co, już mnie to ie strasznie zaczyna denerwować biggrin.gif
wojckr
Nie wiem czy dobrze sprawdziłeś, bo u mnie działa w IE 6, sprawdziłem to:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HEAD>
  3. <TITLE> New Document </TITLE>
  4.  
  5. <script language="javascript">
  6. function szukaj() {
  7. var zapytanie = document.getElementById('q').value;
  8. if (zapytanie != 0) {
  9. alert('zapytanie!=0');
  10. } else {
  11. alert("Musisz coś wpisac");
  12. }
  13. }
  14.  
  15. </HEAD>
  16.  
  17. <BODY>
  18. <form onsubmit="szukaj();return false;">
  19. <input type="text" id="q" />
  20. <input type = "submit" value="szukaj" />
  21. </form>
  22.  
  23.  
  24. </BODY>
  25. </HTML>


Pozdr :-)
puz219
ja to testowałem na IE7 i nie działa, swoja droga to każde ie coraz bardziej odbiega od standardów....
solarV
ooo dzieki, szukałem tego troche :/ działa w ie, ff i operze ale po ctrl+f5 biggrin.gif

tzn o to chodzi
Kod
<form onsubmit="szukaj();return false">
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.