Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [nazwa funkcji] is not defined, Firefox
ktuvok
post 14.09.2005, 08:58:05
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Od długiego czasu używam w skryptach funkcji javascript, która blokuje wprowadzenie znaku innego niż alfanumeryczny do pola. Nie wiem, czy ma to jakieś znaczenie, ale funkcja wygląda tak:

Kod
function TylkoCyfry(e,decReq)
{
        var key = e.keyCode||e.which;
        var obj = e.srcElement||e.target;
        var isNum = ((key>47 && key<58) || key==27 || key==8) ? true:false;
        var dotOK = (key==46 && decReq && obj.value.indexOf(".")<0) ? true:false;
        return (isNum || dotOK);
}


Mam problem z jej wywołaniem tylko w jednym przypadku. Strona główna zawiera ramkę wewnętrzną (IFRAME). W dokumencie wyświetlanym w ramce jest link otwierający nowe okienko. W tym okienku ładuję formularz i dla jednego z pól ustawiam:
  1. <input type="text" onkeypress="return TylkoCyfry(event,1)" ...>

Przy próbie wprowadzenia jakiegokolwiek znaku do tego pola debugger javascriptu w przeglądarce Firefox zaczyna mi wrzeszczeć: "Błąd: TylkoCyfry is not defined.".

Jeśli takie pole umieszczę nie w okienku, tylko w głównym oknie, to wszystko działa jak należy!

Sprawdziłem, że:
1. dla okienka plik z funkcjami javascript jest właściwie podpięty,
2. nie ma znaczenia, czy okno główne "zna" tę funkcję (próbowałem ją skopiować do kodu javascript przypisanego do głównego okna).

Jakieś sugestie? Bo powoli wymiękam...

Pozdrawiam,
K
Go to the top of the page
+Quote Post
revyag
post 14.09.2005, 09:11:59
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Skoro dostajesz error że ta funkcja nie jest zdefiniowana to znaczy że oknie nie ma do niej dostępu, czyli źle podałeś ścieżki, albo źle dołączyłeś plik z funkcjami. Innej opcji nie widze.


--------------------
-------------

------
Go to the top of the page
+Quote Post
ktuvok
post 14.09.2005, 09:20:06
Post #3





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Pozostałe funkcje wpisane w tym samym pliku działają... W IE również wszystko działa, a przecież IE jest dość mocno podatny na błędy js. Sądzę, że plik z javascriptem jest prawidłowo podlinkowany.

Czego jeszcze mogę się chwycić?

Pozdrawiam,
K
Go to the top of the page
+Quote Post
revyag
post 14.09.2005, 09:24:27
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Możesz dać linka do strony ?


--------------------
-------------

------
Go to the top of the page
+Quote Post
ktuvok
post 14.09.2005, 09:34:03
Post #5





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Tak, podesłałem Ci szczegóły (adres + login + hasło) na priv.
Go to the top of the page
+Quote Post
orson
post 14.09.2005, 14:33:36
Post #6





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

dodaj z przodu, przed jej wywołaniem: opener.parent.TylkoCyfry() ...
to znaczy że odwołujesz się do okna otwierającego dane okno a następnie do rodzica danej ramki ... powinnno dziłać ...

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post

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 - 13:18