You are here: Form fields don't persist after window.open, form submit, browser back « PHP Programming Language « IT news, forums, messages
Form fields don't persist after window.open, form submit, browser back

Posted by jwlum on 03/21/06 21:40

I have the following problem under Internet Explorer only:

1. User fills out form data (myform.php) and clicks a button that fires
myFunction()
2. myFunction() spawns a "hello, world" popup page via window.open
3. myFunction() submits the main page's form via document.form.submit()
5. User closes popup window and clicks browser's Back button to return
to form entry page
6. All the form data that the user had filled out is now blank (back to
defaults)!

If you take step 2) out of the equation, then the form data that the
user submitted is still there in step 6). This is the behavior I want,
and I am mystified as to why the addition of window.open causes a
difference under IE. What could be going on here? If it were a
cache-related issue, I wouldn't expect step 2) to have any bearing on
the situation.

Below is a single PHP file you can save to see the problem for
yourself. As an aside, the same thing happens if you write the
equivalent logic in perl, but in a straight HTML/javascript version,
there is no problem.

Thanks for any pointers,
John

----------

<html>
<title>PHP Version</title>
<body>
<?php
if ($_REQUEST['Phase'] == 'Summary')
{
?>
<p><b>Form Submitted</b></p>
<p>This is the post-submit version of the form...</p>
<?php
}
else
{
?>
<script language="javascript">
function submitForm()
{
if (document.form1.popup[0].checked)
{
var popup = window.open('', 'popup', 'width=200,height=200')
popup.document.write('<html><body><p><b>PHP version:</b><br>Close
me, then use browser Back button and notice that your form fields are
empty!</p></body></html>');
}
document.form1.submit();
}
</script>
<p>This is the pre-submit version of the form...</p>
<form name="form1" action="" method="get">
Text 1: <input type="text" size="12" name="text1"><br>
<input type="radio" name="popup" value="show"> Open Popup
Window<br>
<input type="radio" name="popup" value="noshow" CHECKED> No
Popup<br>
<input type="button" name="Submit" value="Submit"
onclick="submitForm();">
<input type="hidden" name="Phase" value="Summary">
</form>
<?php
}
?>
</body>
</html>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация