![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 18:00 |