Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Popup i JavaScript - trochę skomplikowane, więcej w środku :)
Forum PHP.pl > Forum > Po stronie przeglądarki
miedzna
Chodzi o to, że w pliku głównym wywołuję popupa następująco:


index.html

  1. <script language="JavaScript" type="text/JavaScript">
  2.  
  3. function check(){
  4. if(document.getElementById('opcja1').checked == true){
  5. newwindow=window.open("popup.html","","width=190,height=230","left=100,top=100")
  6. newwindow.creator=self
  7. }
  8.  
  9. if(document.getElementById('opcja2').checked == true){
  10. newwindow=window.open("popup.html","","width=190,height=230","left=100,top=100")
  11. newwindow.creator=self
  12. }
  13. }
  14.  
  15.  
  16. <input type="text" name="www" id="www">
  17.  
  18. <input type="radio" name="skad" onclick="javascript:check();" id="opcja1">opcja1
  19. <input type="radio" name="skad" onclick="javascript:check();" id="opcja2">opcja2


wyskakuje popup w zależności od zaznaczonego radio

popup.html:

  1. function loadurl(url){
  2. window.creator.location="http://localhost/"
  3. window.close()
  4. }
  5. <a href="#" target="_top" onClick="loadurl(this.href);return false" onfocus="blur();">aaa</a>


Teraz popup po kliknięciu w link zamyka się i przeładowuje stronę rodzica, czyli index.html

Chcę uzyskac trochę inną funkcjonalność, otóż chcę, żeby po kliknięciu w link w popupie, popup się zamykał i w polu tekstowym o nazwie i id www wskoczyła jakaś wartość z popupa smile.gif nie wiem, czy zrozumiale opisałem. Chodzi o podobną funkcjonalność jak wybieranie daty z kalendarzy popupowych.

Pozdrawiam.
qqrq
Na pierwszy rzut oka wydaje się nic prostszego - obiekt JS document jest składową obiektu window, więc wykonujesz np.:

  1. window.creator.document.getElementById('IdJakiegośElementuZGłównejStrony').value = document.getElementById('IdElemetuZPopupa').value;


Powinno pomóc.
miedzna
Zrobiłem jak napisałeś:

wywołuję popupa:

  1. <script language="JavaScript" type="text/JavaScript">
  2.  
  3. function check(){
  4. if(document.getElementById('opcja1').checked == true){
  5. newwindow=window.open("popup.html","","width=190,height=230","left=100,top=100")
  6. newwindow.creator=self
  7. }
  8.  
  9. if(document.getElementById('opcja2').checked == true){
  10. newwindow=window.open("popup.html","","width=190,height=230","left=100,top=100")
  11. newwindow.creator=self
  12. }
  13. }
  14.  
  15.  
  16.  
  17. <input type="text" name="www" id="www">
  18.  
  19. <input type="radio" name="skad" onclick="javascript:check();" id="opcja1">opcja1
  20. <input type="radio" name="skad" onclick="javascript:check();" id="opcja2">opcja2
  21. </form>


no i sam popup:

  1. function loadurl(){
  2. window.creator.document.getElementById('www').value = document.getElementById('aaa').value;
  3. window.close();
  4. }
  5.  
  6. <form action="popup.html">
  7.  
  8. <input type="text" name="aaa" id="aaa">
  9.  
  10. <input type="submit" name="submit" onclick="loadurl();">
  11.  
  12. </form>


Klikam w przycisk i nic sad.gif
qqrq
A patrzyłeś czy wywala jakieś byki?
miedzna
Grzebałem się z tym i wyszło mi prawie to, czego potrzebuję. Odpalam popupa plikiem index.html, kod poniżej:

index.html

  1. <script language="JavaScript" type="text/JavaScript">
  2.  
  3. function check(){
  4. if(document.getElementById('ttt').checked == true){
  5. newwindow=window.open("popup.html","","width=390,height=230","left=100,top=100")
  6. newwindow.creator=self
  7. }
  8. }
  9.  
  10.  
  11. <input type="radio" name="skad" onclick="javascript:check();" id="ttt">ttt
  12. <input type="radio" name="skad" onclick="javascript:check();" id="ddd">ddd
  13. <br>
  14. <input type="text" name="www" id="www" disabled>
  15. </form>



teraz mam popupa:

popup.html

  1. function loadurl(url){
  2. window.creator.document.getElementById('www').value = document.getElementById('aaa').value;
  3. window.close();
  4. }
  5. <a href="#" target="_top" id="aaa" onClick="loadurl(this.href);return false" onfocus="blur();">Link numer 1</a>


i w nim link, po kliknięciu w link popup się zamyka, a w polu textowym w pliku index.html powinno wskoczyć "Link numer 1", czyli nazwa linku, a wskakuje "undefined".
Co muszę zmienić, żeby zamiast "undefined" wskakiwała nazwa linku?

Dzięki.
qqrq
No to teraz zajrzyj sobie tutaj i zobacz co powinieneś wstawić zamiast "value". smile.gif
miedzna
Otóż to smile.gif

Dziękuję bardzo!!!

Wszystko smigalo, do momentu jak np. plik popup.php przyjal wartosc popup.php?a=b, wtedy jzu przestaje dzialac, co moze byc przyczyna?

Wyskakuje komunikat, ze IE nie moze odnalesc popup.php?a=b.
gordon34
czesc.
znalazlem wreszcie rozwiazanie mojego problemu mam nadzieje.
otoz jestem zielony z JS i nie do konca wiem co nalezy wpisac "zamiast" value tak jak pisze qqrq
Cytat
No to teraz zajrzyj sobie tutaj i zobacz co powinieneś wstawić zamiast "value"

czy ktos by mogl podpowiedziec?

a czy bedzie to dzialalo w przypadku gdy w okienku pop-up jest formularz do dodawania rekordow do bazy mysql i chcialbym zeby po wcisnieciu "dodaj" przeszlo mi do skryptu dodawania "insert into" a nastepnie ten swiezo dodany rekord wrzucony w odpowienie pole na stronie index.html (przykladowo) ?

podpowiedzcie
pozdrawiam

dobra, juz to zczailem z tym "value"

ale dalsza czesc zapytania jest nadal wazna.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.