Welcome to WebmasterWorld Guest from

Forum Moderators: open

Message Too Old, No Replies

return value from popup

5:57 pm on Mar 24, 2008 (gmt 0)

Junior Member

10+ Year Member

joined:May 13, 2004
posts: 122
votes: 0

Hello people,

I've been trying to get this to work all afternoon without any luck (it's been quite a productive day...)

I'm writing an add-on for a simple forum script in php.
What I want to do is to open a popup window, select an image to upload and return the BBCode into the form field of the opener page.
The upload works like a charm.

This is what I have so far:
opener page (found this with google):

function showList() {
sList = window.open("uploadimg.php", "list", "width=600,height=450");
function remLink() {
if (window.sList && window.sList.open && !window.sList.closed)
window.sList.opener = null;
// -->
<input type="button" value="Upload Image" name="Upload Image" onClick="showList()" />

opened page:

echo "<input type='text' size='75' maxlength='255' name='select' value='$result' />
<input type='submit' value='copy to form' onclick='insert(window.opener.document.forumpost.req_message.text,'\\\\Q$result\\\\E')' />";

this will return an error and does not do what i want
I'm thinking it has something to do with special characters, hence the \\Q\\E, but I could be wrong all together obviously...
anyone any ideas?

3:23 pm on Mar 25, 2008 (gmt 0)

Senior Member

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Nov 28, 2004
votes: 0

Can't see what your insert function is doing, but here is what I use.

This code is either actually in the pop-up window or in an external file linked to by the pop-up window. Note I'm not storing the pop-up form data anywhere. I don't know that you need all the stuff for special characters because all it's doing is taking the data from the pop-up window's text box and putting it in the opener's text box.

The pop up form would look something like:

<form onSubmit="populate(this,'opener_text_box'); return false;">
<textarea name="content" id="content"></textarea>
<input type="submit" value="Populate Opener">

The JS:

function populate(form,field) {
if (window.opener && !window.opener.closed) {
var target = window.opener.document.getElementById(field);
if (form) { target.value=form.content.value; }