Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Przesyłanie zmiennej z wywołanego okna
Forum PHP.pl > Forum > XML, AJAX
deha21
Witam,
Na pierwszej stronie wywołuję okienko przez jquery (a dokładniej przez plugin FancyBox). W nim (poprzez iframe) ładuje się osobna strona, gdzie znajduje się lista plików. Chcę aby po kliknięciu na element z listy. Jego nazwa (jest w zmiennej) przesyłała się do pola tekstowego w formularzu na pierwszej stronie.
Kiedyś coś takiego robiłem przy pomocy czystego JS ale teraz nie mam jak to zrobić.

Na innym forum dostałem takie kody:
  1. window.parent.getElementById('id_pola_tekstowego').value = 'nazwa_wybranego_elementu_listy';
  2. oraz
  3. $('#id_pola_tekstowego', window.parent.document).val('nazwa_wybranej_pozycji_z_listy');

Oba nie działają (chyba że w drugim coś źle robię, bo dopiero zaczynam z jquery).
Po przerobieniu pierwszy kod jest poprawnie skonstruowany, tzn. pobiera dobre zmienne i wskazuje gdzie zmienne mają być przepisane ale nie przepisuje ich do pola formularza na pierwszej stronie.
ziqzaq
Może głupie pytanie, ale czy w stronce iframe (tej w fancyboxie) dołączasz jquery?
Pytam dlatego, że u mnie bez problemu mogę przesyłać np. atrybuty href klikniętych linków do elementów window.parent.document.
Przykładowy kod w stronce iframe:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $('a').click(function(){
  3. $('#t1',window.parent.document).val($(this).attr('href'));
  4. return false;
  5. });
  6. });
[JAVASCRIPT] pobierz, plaintext

Testowane: Opera 10.00 Beta 3, Firefox 3.5.2
deha21
Dołączam jquery.
Przerobiłem twój kod i działa ale przepisuje też wartości z linków z których nie chce żeby były przepisywane.

Więc do linków dopisałem class='f' i zrobiłem tak:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $('.f').click(function(){
  3. $('#image',window.parent.document).val($(this).attr('href'));
  4. return false;
  5. });
  6. });
[JAVASCRIPT] pobierz, plaintext

I teraz niestety linków nie przepisuje, tylko przechodzi do strony z hrefem

EDIT:
Działa winksmiley.jpg Ale ze mnie głupek, z rozpędu dopisałem class='f' nie do <a> ale do <img> winksmiley.jpg

A wiecie jak razem z kliknięciem i przepisaniem zamknąć to okno?
palonek
sprobój a.f
ziqzaq
Hmm, dziwne. Mi ten kod działa bez względu czy zdarzenie dołączane jest do linków z klasą czy id-kami.
Pokaż kod html z tymi linkami, może masz jakąś literówkę w kodzie?

// Edit
@up: W sumie nie powinno być różnicy między ".f" i "a.f" jeśli tylko linki mają klasę "f".
deha21
Już działa. Dopisałem class='f' nie do <a> ale do <img> winksmiley.jpg
Chodzi mi jeszcze o to, żeby razem z kliknięciem na link okienko się zamykało. Próbowałem z hide i windows.close() ale nie wychodzi :/

Dziwne... Gdy edytowałem mojego poprzedniego postać to waszych odpowiedzi nie widziałem. A teraz odświeżyłem i się okazało że były napisane przed tym jak ja mój post edytowałem winksmiley.jpg

ziqzaq
[JAVASCRIPT] pobierz, plaintext
  1. window.parent.$.fn.fancybox.close();
[JAVASCRIPT] pobierz, plaintext

party.gif
deha21
Dzięki. Jesteś mistrzem ziqzaq winksmiley.jpg
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.