Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] wstawianie tekstu przez przycisk w innym oknie
Basic_01
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2006
Skąd: Katowice

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


Chodzi mi o to ze mam okno "matka" i "dziecko".... okno dziecko jest otwierane buttonem z oknia 'matka', w oknie matka mam pole textarea o nazwie 'maska' i chciałbym aby po naciśnieciu na buttona w 'dziecku' została wywoływana funkcja w 'matce' która wstawi do pola textarea o nazwie 'maska' tekst wprowadzony do funkcji... Jeśli przycisk wstawiajacy byłby w tym samym oknieto działa wszystko ok, a instrukcja wyglada tak
  1. onClick="insertAtCursor2(maska,'d')
, ale skoro jestem w 2 oknie to wywołuje tak
  1. onClick="window.opener.insertAtCursor2(maska,'d')
jednak wtedy nic nie działa;/... na próbe wstawiłem alert który wyświetla zmienne wysyłane do funkcji i jeśli bede wstawiał z tego samego okna to wyświetla mi "zmienna1: d zmienna2: [object HTML TextAreaElement]" wiec juz wiem dlaczego gdy nazwa textarea jest w '' to nie działa:), jednak gdzy przesłałem z 2 okna do funkcji
  1. onClick="window.opener.insertAtCursor2('[object HTML TextAreaElement]','d')
albo
  1. onClick="window.opener.insertAtCursor2(window.opener.maska,'d')
w tym pierwszym przypadku w alercie pokazuje 2 zmienne ok ale nie wstawia litery w 2 wyświetla w alercie 'd' ale zamiast maski wyświetla 'undefinded' sadsmiley02.gif (oczywiście tez nic nie wstawia to textarea sciana.gif )
Mam nadzieje ze nie zamieszałem sprawy i da się zrozumieć o co mi chodzi tongue.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
lord_t
post
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Jeśli pierwszy argument funkcji( insertAtCursor2(nazwa,wstawiane) ) jest nazwą elementu i odwołujesz się do niego przez getElementById(nazwa), to musisz podać w wywołaniu tak: insertAtCursor2('maska','d').

pzdr.

PS. Używaj kropek i przecinków w postach.


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





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2006
Skąd: Katowice

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


Na poczatku wielkie dzieki za odp thumbsupsmileyanim.gif i sory ze nie dawałem znaku zycia wstydnis.gif , ale troche mnie ostatnio w szkole przycisneli i nie miałem czasu zaglądnąć....
A wiec tak: na javaScript sie raczej nie znam jedynie tyle co podpatrze tu i tam zeby cos wstawić, albo lekko przerobić. Chyba rozumiem jak działa getElementById(nazwa) ale nie wiem jak tego dokładnie uzyć... próbowałem tak:
  1. function insertAtCursor2(myField,myValue) {
  2. var myField =document.getElementById('myField');
  3. alert("zmienna my Value: "+myValue+" zmienna myField: "+myField)
  4. }
jednak wtedy na alercie zmienna ma wartość null. Gdybyś wiedział gdzie mam to "posadzić" to byłbym wdzieczny za radę:)
Go to the top of the page
+Quote Post
lord_t
post
Post #4





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


1. myField (- argument funkcji i w metodzie getElem... ) nazwałbym inaczej, żeby nie kolidował z var myField
2. Zmienna którą przekazujesz do funkcji jest stringiem, więc w getElementById nie pisz myField w apostrofach (stąd brał się null).
2a. Jeśli skasujesz apostrofy to pomoże tylko po części, bo będziesz miał wyświetlane [Http...]. Rada: zrób np. tak:
  1. var myField =document.getElementById('myField').value;
(patrz value)

Ten post edytował lord_t 14.02.2008, 23:19:24


--------------------
Go to the top of the page
+Quote Post
Basic_01
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2006
Skąd: Katowice

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


pomogło usuniecie nawiasów:) Wielkie dzieki, bo samemu zajęło by mi to duzo czasu nie wiedząc czego szukać yahoo.gif
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: 21.08.2025 - 21:46