Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> window.open, Niepoprawne działanie
AprilONeil
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.05.2014

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


Otwieram przykładowo stronę w oknie
[JAVASCRIPT] pobierz, plaintext
  1. var x = window.open("message.php","_blank");
  2. x.document.forms[0].childNode[0].setBackground = red;
[JAVASCRIPT] pobierz, plaintext


Wszystko działa poprawnie dopóki message.php nie posiada w adresie jakieś zmiennej.
Przyjmuje to taką postać

[JAVASCRIPT] pobierz, plaintext
  1. var x = window.open("message.php?"+zmienna,"_blank");
  2. // x przykładowo = message.php?stek=3&obiad=5
  3. // Linijka pod spodem niestety przestaje działać
  4. x.document.forms[0].childNode[0].setBackground = red;
[JAVASCRIPT] pobierz, plaintext


Ostatnia linia kodu przestaje działać - nie ma możliwości zmiany wyglądu strony w oknie, ale np.
[JAVASCRIPT] pobierz, plaintext
  1. x.document.write("TREŚĆ");
[JAVASCRIPT] pobierz, plaintext
Zadziała i całe okno zostanie zastąpione napisem "TREŚĆ".

Jakieś propozycje jak rozwiązać problem?
Pozdrawiam.

Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A jesteś pewien, że strona: message.php oraz message.php?stek=3&obiad=5 zwracają taką "samą" strukturę? Może ta z parametrami wyrzuca błąd i nie generuje się poprawnie.
Go to the top of the page
+Quote Post
AprilONeil
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.05.2014

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


Nie mają takiej samej struktury aczkolwiek nie w tym sęk.
Chodzi o to, że z linkiem typu message.php?klops=5&stek=10 w window.open nie mam możliwości odwołania się do struktury dokumentu
Tak jak to przedstawiłem na górze -w drugim kodzie może być zarówno message.php?klops=5 jak i placek.php?klops=20&ziemniak=1
Nie ważne co mam w tym dokumencie nie mogę się do tego odwołać mając parametry w linku.


Pytanie jeszcze z innej beczki bo może to rozwiąże mój problem: Jeżeli mam
  1. <iframe src="kapusta.html" name="grzyby"></iframe>
To w jaki sposób odwołać się do elementów w tym iframe w javascript i je zmienić.

Jeszcze pragnę podkreślić, że strona z parametrami nie zwraca błędu.

Ten post edytował AprilONeil 29.05.2014, 18:38:01
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A może właśnie w tym sęk, że nie ma tam formularza, do którego próbujesz się odnieść.

http://stackoverflow.com/a/1452885
Go to the top of the page
+Quote Post
AprilONeil
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.05.2014

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


Mam stronę:
  1. www.strona.host.pl/profile.php?section=mod&id=243

Otwieram ją w
[JAVASCRIPT] pobierz, plaintext
  1. window.open
[JAVASCRIPT] pobierz, plaintext

[JAVASCRIPT] pobierz, plaintext
  1. var x = window.open("profile.php?section=mod&id=243","_blank");
  2. x.document.body.style.backgroundColor = "red";
[JAVASCRIPT] pobierz, plaintext

Nie idzie ponieważ mam parametry w linku(są one poprawne).
W całym serwisie nie mam tego problemu tylko właśnie w linkach, które mają jakieś parametry.

Ten post edytował AprilONeil 29.05.2014, 19:27:06
Go to the top of the page
+Quote Post
owca_82
post
Post #6





Grupa: Zarejestrowani
Postów: 77
Pomógł: 8
Dołączył: 22.04.2012

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


Ciąg zapytania w adresie nie ma tu nic do rzeczy, a nie działa pewnie dla tego że metoda open wczytuje plik asynchronicznie, a więc zanim serwer przemieli i wypluje wynik z pliku php, to skrypt js wcześniej wykona kolejną instrukcje, która odwołuje się do czegoś czego jeszcze nie ma (IMG:style_emoticons/default/wink.gif)

Spróbuj opóźnić zmianę koloru przez setTimeout ... ewentualnie wywołanie callback'a z piku php

Ten post edytował owca_82 30.05.2014, 17:02:13
Go to the top of the page
+Quote Post
AprilONeil
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.05.2014

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


owca_82 faktycznie miałeś rację. Wpadłem na to dzisiaj po południu - funkcja onload nie działała tak jak myślałem, a w internecie znalazłem bardzo fajny przykład, z buttonem, który zmieniał tło po kliknięciu i stąd wniosek. (IMG:style_emoticons/default/smile.gif)

Dziękuje, pochwały przyznałem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 18:48