Hi I have a main form with a hidden variable in a parent php page.When i click a link in this page a popup window opens.In that popup window I have a form and the form action is self page.I have posted the form variables and stored it in php variables in the child form.I had set the value for the hidden variable of the parent page as an array of posted values in the child window using javascript. Now If i submit the child form by clicking the submit button the values are not assigned to the hidden field of the parent page.If i click the submit form twice the values are assigned to the hidden variable. I want the child form to submit only once and the values are set to the hidden field of the parent page when the child form submit button is clicked only once.How can i do this? Regards Rekha
Hi I have a form in parent php page Code: Code: <form name=add> <input type=hidden name=cus> </form> In child window i have a form like this Code: Code: <form name=sub method=post action="<?php echo $PHP_SELF;?>" onsubmit="jss()"> <input type=text name=ss> <input type=text name=cc> <input type=submit value=run> </form> I have posted the values and stored it in a array as follows Code: $ss=$_POST['ss']; $cc=$_POST['cc']; $array=array($ss,$cc); I used javascript function to set the array values to the hidden field in parent window. Code: Code: function jss() { window.opener.document.add.cus.value="<?php echo base64_encode(serialize($array));?>"; } When i post the values of hidden field in parent window Code: Code: $arr=unserialize(base64_decode($_POST['cus'])); The values are assigned when i click the submit button of the child window twice.I want to set the values when submit button is clicked only once. Pls help........ Regards Rekha
Hi rekha, You are calling the function jss() while submitting the child form, the data is not being set because the php variable $array is only available only after submitting the form, so its of no use calling the function jss() when submitting the form. As a result of this, when you submit the child form the 2nd time, the value is set to parent window.
Thi child page's code should look something like this, you need to call the JS function after the data is posted. PHP: if($_SERVER['REQUEST_METHOD'] == 'GET') { ?> <form name=sub method=post> <input type=text name=ss> <input type=text name=cc> <input type=submit value=run> </form> <? } else { $ss=$_POST['ss']; $cc=$_POST['cc']; $array=array($ss,$cc); ?> <script language="JavaScript"> function jss() { window.opener.document.add.cus.value="<?php echo base64_encode(serialize($array));?>"; } jss(); </script> <? }