Wprowadzenie:
Mam formularz A, w którym znajduje się pole textarea. W formularzu jest link z graficznym tłem, który otwiera nowe okno z emotkami do donania:
funkcja emo, która wyświetla nowe okno:
Kod
function emo(x) {
$(document).ready(function() {
var pos=$(x).offset();
var px=pos.top-440;
var py=pos.left-240;
var win=window.open('./template/emo.php','EMOTOIKONKI','toolbar=no,menubar=no,location=no,personalbar=no,scrollbars=no,directories=n
o,status=no, resizable=no,width=200,height=185,top='+px+',left='+py);
})
}
$(document).ready(function() {
var pos=$(x).offset();
var px=pos.top-440;
var py=pos.left-240;
var win=window.open('./template/emo.php','EMOTOIKONKI','toolbar=no,menubar=no,location=no,personalbar=no,scrollbars=no,directories=n
o,status=no, resizable=no,width=200,height=185,top='+px+',left='+py);
})
}
plik emo.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="pl-PL"> <head> <style type="text/css"> img {margin:2px;border:0;} </style> <script type="text/javascript" > function returnData(x) { window.opener.GetElementById('osobie').value+=x; this.close(); } </script> </head> <body> </body> </html>
PROBLEM !
chce uzyskać efekt taki, że po kliknięciu w emotkę pop up zostanie zamknięty a w textarea, zostanie na koncu dodany BB code tej emotki. I nie wiem jak to zrobić. Czytałem, że należy użyć window.opener - czyli referencji to obiektu rodzica, który otworzył to okno, więc jej użyłem najpierw w funkcji emo ale bezskutecznie. Dlatego stworzyłem funkcje rertunDAta pop-upa czyli:
Kod
function returnData(x) {
window.opener.GetElementById('osobie').value+=x;
this.close();
}
window.opener.GetElementById('osobie').value+=x;
this.close();
}
jednak po kliknięciu w emotkę okno się nie zamyka i nic nie zostaje dopisane do pola textarea ;(
Bardzo proszę o na kierunkowanie mnie co muszę zrobić, żeby poproastu zwrócić wartość z pop-upa do głównego okna i czy to można jakoś zrobić w funkcji emo
