0

I want to pass a text box value in parent.php to my popup window(child_page.php). Following is my code. parent.php-

<html>
<head>
<script type="text/javascript">

var popupWindow=null;

function child_open()
{ 

popupWindow =window.open('child_page.php',"_blank","directories=no, status=no, menubar=no, scrollbars=yes, resizable=no,width=600, height=280,top=200,left=200");

}
function parent_disable() {
if(popupWindow && !popupWindow.closed)
popupWindow.focus();
}
</script>

 <input type="text" name="myTextField" id="myTextField" required="required"/>


</head>
<body onFocus="parent_disable();" onclick="parent_disable();">
    <a href="javascript:child_open()">Click me</a>
</body>    

</html>

child_page.php

<h1>child page</h1>


<script>
    window.onunload = refreshParent;
    function refreshParent() {
        window.opener.location.reload();
    }
    var x=parent.document.getElementById('myTextField').value

    <?php echo x; ?>
</script>

<?php 

//how do I get the textbox value here.

    ?>

I googled it and tried to do it. Since I know little about java script couldn't pull those answers together as a solution.

1
  • Why not first set the variable to a session? Commented Aug 13, 2013 at 3:32

1 Answer 1

1

There are many errors in your html. You are writing input element before closing head tag. Move it inside body. And try something like this:

<html>
<head>
<script type="text/javascript">

    var popupWindow=null;

    function child_open(val){ 
        popupWindow =window.open('child_page.php' + "?val=" + val,"_blank","directories=no, status=no, menubar=no, scrollbars=yes, resizable=no,width=600, height=280,top=200,left=200");
    }

    function parent_disable() {
        if(popupWindow && !popupWindow.closed)
            popupWindow.focus();
    }
</script>

</head>
<body onFocus="parent_disable();" onclick="parent_disable();">
    <input type="text" name="myTextField" id="myTextField" required="required"/>
    <a href="#" onclick="var val = document.getElementById('myTextField').value; child_open(val);return false">Click me</a>
</body>    

</html>

Now in your child_page.php you can get the value using $_GET['val'].

//child_page.php

<h1>child page</h1>
<?php $x = $_GET['val']; ?>
<script>
    window.onunload = refreshParent;
    function refreshParent() {
        window.opener.location.reload();
    }   
</script>

<?php echo $x; ?>
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.