Tyrone Slothrop wrote:
The first question, is this even possible?
What I need to do is pass the contents of a PHP web page from a
textarea using window.open method to a new browser window and display
it. The page has a combination of HTML and PHP. The problem is that
the PHP is not being interpreted. This is generally resolved by using
the PHP eval() function. However, since the page contents are being
passed via JS, the eval is evaluting the JS statement and not the
actual contents (so I think since the view source shows only the JS).
<script>
var page=window.ope ner.document.fi leedit.pagetext .value;
</script>
<?php
$str = "<script>docume nt.writeln (page)</script>";
eval("\$str = \"$str\";");
echo $str;
?>
If this is possible, what am I missing here?
TIA!
You are mixing the two technologies up - javascript is client based -
php is server based... or have you excluded some code?
The PHP part of your programming is something seperate and only
confusing your goal.
Answer this: Does the text appear in your popup textarea?
If the answer is yes, then I guess the PHP that wrote the data into the
textarea is working.
If the answer is no, then you are not writing data correctly into your
popup.
Make life a little easier - take PHP out of the equation for a moment
and in your popup, have something like this:
<textarea name=pagetext>t his is my text</textarea>
Then work on writing some javascript that will read from this popup. I
believe window.opener should be used by the child (ie the popup) and not
the parent window, so if the parent window wants to read from a child
window (and the child window is called winone, that contains a form
called fileedit) then the parent window would have something like
var page=window.win one.document.fi leedit.value;
(I think I'm correct with the above syntax - my javascript is about six
plus months old - my PHP is alot better).
Basically - think of it this way - before your page gets to display on
the browser, PHP does its thing - Once the page is shown on your
browser, PHP can do no more - You need a client side language, like
javascript, to chew it for you. When you post the data from form
fields, it gets sent back to the server - in your case, it would get
sent back to PHP.... thus... when PHP has it, client-side javscript can
not touch it.
I hope something above helps you - I think you need to break down your
problem in to smaller pieces - thus remove the PHP dependancy and
concentrate on getting the two windows talking from one to the other.
oh... and... just in case I'm making an incorrect assumption: When your
parent window wants to read from a child/popup they both need to be
served from the same domain... thus
A parent page of:
www.mydomain.com/myParentForm.html
can communication with
www.mydomain.com/myChildForm.html
but CANNOT communicate with
www.someOtherDomain.com/myChildForm.html
Its a security feature - not a failure.
randelld