Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dostęp z okna "dziecka" do formularza w oknie "rodzicu"
aradan
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.04.2006

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


Witam.

Próbuję napisać skrypt, który z poziomu okna dziecka aktualizuje pola
formularza w oknie rodzicu. Wiem, że temat był wielokrotnie wałkowany,
ale nie udało mi się znaleźć dobrego rozwiązania.

W oknie rodzicu mam formularz o nazwie "form". Jedno z pół formularza
jest następujące:

<input TYPE="text" id="input_text" name="skad11">

Napisałem przykładowy skrypt, który ma wpisać dowolny tekst do pola o
nazwie skad11, ale nie wiem czemu nie działa:

  1. <script language="JavaScript">
  2. function wstaw() {
  3. opener.form.skad11.value = "jakiś tekst";
  4. }
  5.  


próbowałem również:
  1. parent.form.skad11.value = "jakiś tekst";
  2. opener.document.form.skad11.value = "jakiś tekst";
  3. parent.document.form.skad11.value = "jakiś tekst";
  4. window.opener.document.form.skad11.value = "jakiś tekst";
  5. window.parent.document.form.skad11.value = "jakiś tekst";


Bez rezultatu. Będę bardzo wdzięczny za pomoc.

Pozdrawiam.
Łukasz Będziński.
Go to the top of the page
+Quote Post
Norbas
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

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


opener to obiekt typu Window. Aby dostać się do formularza musisz jeszcze zastosować document, czyli:
  1. opener.document.form.skad11.value = "jakiś tekst"


Ten post edytował Norbas 6.02.2007, 23:18:53


--------------------
Go to the top of the page
+Quote Post
gekon
post
Post #3





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


Lepiej:
  1. document.form["nazwa_formularza"].elements["skad11"].value = "jakiś tekst";


Najlepiej:
  1. document.getElementById('input_text').value = "jakiś tekst";


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
Joy-machine
post
Post #4





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


jeszcze lepiej niż najlepiej:
  1. $('input_text').value = "jakiś tekst";


W Twoim przypadku:

  1. window.opener.$('input_name').value = 'wartosc';



gdzie $ => google.com
Go to the top of the page
+Quote Post
gekon
post
Post #5





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


Nie wiem czym różni się funckja użytkownika od tej zaimplementowanej w przeglądarce? Chyba tylko tym, że jeżeli jest używana na siłę niepotrzebnie zaśmieca pamięć.


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
lukasz_sosnowiec
post
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 7.02.2006

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


Cytat(gekon @ 7.02.2007, 21:13:08 ) *
Nie wiem czym różni się funckja użytkownika od tej zaimplementowanej w przeglądarce? Chyba tylko tym, że jeżeli jest używana na siłę niepotrzebnie zaśmieca pamięć.

Ja osobiście uważam, że przy nauce JavaScriptu (czyt. na tym forum) powinno się używać document.getElementById(). Sam uczyłem się JavaScriptu około 5 lat temu ... od temtej pory miałem dużą przerwę i teraz znów się zabrałem za naukę. I patrząc na nic nie znaczący na pierwszy rzut oka $ jeszcze kilka dni temu nie miałem pojęcia o co chodzi, nawet po odesłaniu do google. Tak przypadkiem przyglądając się frameworkowi prototype dopiero uświadomiłem sobie co ów znaczek robi.
Chodzi mi o to, że może i w większych projektach $ może uprościć odwołania, ale po co używać go na siłę podczas nauki? Pierwszy lepszy user (niezaznajomiony z JS) wejdzie pobieżnie na forum i spojrzy na kod w którym zobaczy np $('menu').style.width = "40px;" i co pomyśli ... że $ wchodzi w skład JavaScriptu bo nikt nawet nie wspomina że to funkcja użytkownika. Jakże się zdziwi że bez odpowiednich implementacji $ nie zadziała.
Wiem że dla doświadczonych w JS $ jest domniemaniem, ale trzeba pamiętać też o początkujących, którzy nie będą mieli o tym pojęcia. Natomiast patrząc na document.getElementById() nawet gdy nie będą wiedzeli co to, to z odrobiną chęci zajrzą do pierwszej lepszej dokumentacji i się połapią.

Ten post edytował lukasz_sosnowiec 8.02.2007, 06:04:35
Go to the top of the page
+Quote Post
gekon
post
Post #7





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


O tym właśnie mówiłem.

Ten post edytował gekon 8.02.2007, 13:17:19


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
Joy-machine
post
Post #8





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


Cytat
nawet gdy nie będą wiedzeli co to, to z odrobiną chęci zajrzą do pierwszej lepszej dokumentacji i się połapią.

Szkoda że z tymi chęciami jest tak marnie.

Cytat
Nie wiem czym różni się funckja użytkownika od tej zaimplementowanej w przeglądarce? Chyba tylko tym, że jeżeli jest używana na siłę niepotrzebnie zaśmieca pamięć.
biggrin.gif biggrin.gif biggrin.gif Masz 2MB ramu że JS Ci zaśmieca? JS bierze dużo proca, nie ramu. A jeżeli uważasz ze używanie funkcji pogarsza działanie skryptu to właśnie ujawnił się Twoj geniusz programisty.


Polecam zapisać w ulubionych, zaraz po google.pl smile.gif
http://www.dustindiaz.com/top-ten-javascript/
Go to the top of the page
+Quote Post
gekon
post
Post #9





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


No właśnie, że "z tymi chęciami jest tak marnie" i odwiedzam więcej niż jedną stronę dziennie, różnie z tą pamięcią może być. Pozatym głównie chodzi tu o dydaktykę.


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
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 Aktualny czas: 19.08.2025 - 13:17