![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Witajcie.
Zakładając, ze mam strone opartą na <frameset>, mam pytanie odnoście "zasięgu" JS. Czy jeżeli w pliku definiującym tenże frameset będzie napisana pewna funckja JS, to czy będzie ona widoczna w każdej ramce? Czy (bardziej prawdopodobne) każda ramka musi mieć własną kopię tej funkcji? Oraz druga sprawa: Potrzebuję funkcję JS, która będzie wywoływana przy każdej zmianie dowolnego pola tekstowego w dowolnej ramce sprawdzała czy to co zostało wpisane pasuje do wzorca. Pomożecie? -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 636 Pomógł: 0 Dołączył: 22.10.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
1. Bedzie widoczna. Trzeba sie odwolac wtedy do funkcji przez obiekt parent lub top.
2. Napisalem cos takiego... Funkcja nadaje wszystkim polom tekstowym zdarzenie onchange ktore wywoluje funkcje sprawdzajaca ze wzorcem. Jesli dobrze zrozumialem to mniej wiecej oto chodzilo. Kod <script type="text/javascript"> var reg_exp; function sprawdz(tmp) { reg_exp = tmp; ramki = window.frames; for(i = 0; i < ramki.length; i++) { formularze = ramki[ i ].document.forms; for(i2 = 0; i2 < formularze.length; i2++) { elementy = formularze[ i2 ].elements; for(i3 = 0; i3 < elementy.length; i3++) { if(elementy[ i3 ].type == 'text') { elementy[ i3 ].onchange = wzorzec; } } } } } function wzorzec(e) { if(e) { obj = e.target; } else { var obj; for(i = 0; !obj; i++) { obj = window.frames[ i ].event.srcElement; } } if( !obj.value.match(reg_exp) ) { alert('Nie pasuje do wzorca: ' + reg_exp); } } </script> <frameset cols="50%,*"> <frame src="ramka1.htm" name="ramka1"> <frame src="ramka2.htm" name="ramka2"> </frameset> ramka1.htm Kod <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <body> Tylko małe i duże litery od A do Z.<br><br> <form style="margin-top:0;"> <input type="text" id="input1_1"><br><br> <input type="text" id="input1_2"><br><br> <input type="text" id="input1_3"><br><br> </form> </body> </html> ramka2.htm Kod <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <body onload="top.sprawdz( /^[a-z]*$/i );"><br><br> <form style="margin-top:0;"> <input type="text" id="input2_1"><br><br> <input type="text" id="input2_2"><br><br> <input type="text" id="input2_3"><br><br> </form> </body> </html> PS. [ CODE ] dlatego, zeby zachowac formatowanie. Ten post edytował Paul 28.10.2004, 16:33:53 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Pytanie dodatkowe:
Jak wykryć naciśnięcie klawisza w aktywnym oknie przeglądarki i zapisać do zmiennej? -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Coś takiego na przykład:
Kod <script type"text/javascript"> function key_detect(){ var key=window.event; code=key.keyCode; var key_code=String.fromCharCode(code); alert("The key is:" + key_code); } </script>
poda Ci jaki klawisz był wciśnięty np. jak naciśniesz a to wyświetli się w alercie a. Nie reaguje to na klawisze funkcyjne. Ewentualnie można to przeobić żeby podawało kod klawisza. -------------------- -------------
------ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 636 Pomógł: 0 Dołączył: 22.10.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
revyag: Twoje rozwiazanie dziala tylko w IE i Operze. Pozatym da sie wykrywac klawisze funkcyjne tyle, ze przy zdarzeniu onkeydown, wtedy jedak przejmuja one kody malych liter. Na przyklad 1 na czesci numerycznej (przy wlaczonym num locku) to juz nie 1 ale a
![]() Kod <html>
<head> <script type="text/javascript"> function przechwyc(e) { if(document.all) { e = window.event.keyCode; } else { e = e.which; } alert(e); } document.onkeydown = przechwyc; </script> </head> <body> </body> </html> |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
Dzięki za pomoc.
Poszukałem i to stworzyłem: ![]()
Działa jak natura chciała! ![]() -------------------- kOskiToS :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:51 |