![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 23.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje wygenerowac skrypt JS za pomoca php i wykonac go w zdarzeniu onchange. Przeprowadzam proste proby i nawet najprostszy kod nie chce mi dzialac:
A oto makejs.php
Dlaczego to nie dziala? Jezeli na sztywno w <script id="skrypt" type="text/javascript" src=""> w src wpisze makejs.php to dziala. Za pomoca zdarzenia onchange ANI RAZU nie udalo mi sie wywolac skryptu z pliku makejs.php. Ten post edytował clansman5 25.12.2006, 12:15:14 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, zastanawiam się, czy src nie jest czasarmi atrybutem read only?
Po drugie, zmieniasz src elementu, przez który parser przegladarki już przeszedł. Więc zmiana src chyba nie spowoduje ponownego wykonania dokumentu, który się znajduje w ładowanym przez src pliku. Jakbym to rozwiązał: W onchange umieszczasz skrypt JS, który: 1) tworzy nowy element <script> (document.createElement) 2) ustawia temu elementowi atrybut src (na makejs.php) 3) osadza stworzony element w body (appendChild) Jeśli i to by nie zadziałało, to spróbuj jeszcze kod z makejs.php umieścić w funkcji, którą wywyołasz także w onchange. Na przykład: Kod function testowa() alert('hello from makejs.php'); } Kod onchange="..... testowa();"
Ten post edytował Zajec 25.12.2006, 18:25:40 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 23.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzieki, sprawdze to. Po dalszych testach mojego skryptu okazalo sie, ze na IE dziala a na FF nie. Przetestuje Twoja metode i poinformuje o rezultatach
---------------EDIT------------------- Jestem juz po testach, wielkie dzieki za pomoc, przedstawiony przez Ciebie sposob dziala. A dzialajace rozwiazanie jest nastepujace:
Ten post edytował clansman5 25.12.2006, 23:41:45 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cieszę się, że pomogłem :-)
Zauważ tylko jeszcze, że kod umieszczany w onchange jest automatycznie interpretowany jako kod JS. Nie trzeba więc już tam używać pseudoptorokołu javascript. Wystarczy samo Kod onchange="create();"
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 19:45 |