We help IT Professionals succeed at work.

Reload data in div tag

438 Views
Last Modified: 2013-01-17
I have a php page with two <div>'s in which I load external php pages. They load fine, but when I try to do a submit in one of the external files, the parent page is populated with only the form data from the div tag page. I thought it would be the same as an iframe but apparently not!
I have the external php page set up like a full html page with form and form action etc. Not sure how to get this working . I had the data in an iframe but I need to do an auto reload every 10 second and I don't want the iframe to reload, hence I'm using a series of <div> that I can refresh individually.
Comment
Watch Question

Commented:
If you have the action of your external forms set to the parent page, you will need to create and populate hidden fields in the external forms for the data you want to re-populate on the parent page.  PHP will only keep data from the currently submitted form.

You could use cookies to keep your parent page data.

Author

Commented:
I was thinking I would have the action of the external page to be itself as I would in an iframe application. So do I need to set the action to the parent page?
Top Expert 2013

Commented:
Can you post a like to the page? It sounds like the structure is invalid which will probably create all kinds of problems anyway.

Cd&

Author

Commented:
I can't get you a link, but here's the structure (can't seem to attach a file?)...



Parent page:

<html>
<head>
<script type=”text/javascript”>
$(document).ready(function(){
      $("#dailyCounts").load("dailyCounts.php");
      $("#countSummaries").load("countSummaries.php");
      $("#history").load("history.php");
});
</script>
<table>
    <tr>
             <td>
      <div id=”dailyCounts”></div>
       </td>
       <td>
      <div id=”countSummaries”></div>
       </td>
   </tr>
   <tr>
      <td>
      <div id=”history”></div>
     </td>
   </tr>
</table>


dailyCounts.php
page with mysql, refesh routine updating every 10 seconds:
<script>
    $(document).ready(function() {
        setInterval("location.reload(true)", 10000);  // every 10 seconds        
    });
</script>


countSummaries.php
page with mysql queries
<form> with <select> box and submit to update display
no auto_reload routines


history.php
page with mysql queries
<form>
<select> boxes and submit to update display
and a jqery refresh routine
<script>
    $(document).ready(function() {
        setInterval("location.reload(true)", 30000);  // every 30 seconds        
    });
</script>
Top Expert 2013

Commented:
I started to do a long winded technical exploration which was getting confused when I realized that this can be put quite simply.  Content in a div can never be a window object.  The content of an iframe is always a window object.  To maintain the context you need, you need the a parent window to child window relationship.

Barry's suggestion of cookies is dicey, but you might be able to make it work.  Trying to make a div behave like an iframe is like expecting a pet dog to run in the Kentucky Derby.

Cd&

Author

Commented:
LOL,  so that being said, what's the best way to accomplish this?  iframes?  if so, how can I prevent the parent page from flickering when the iframes reload?  frustrating!
Top Expert 2013
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Top Expert 2013

Commented:
What is with the C?  Either it does not give you what you need and we should be looking to see if more can be done, or it solved the problem in which case a C is inappropriate.  


Cd&

Author

Commented:
no it didn't solve the problem, all it did was send me on to other sources, so the C is appropriate
Top Expert 2013

Commented:
If it did not solve the problem, it should not be accepted at any grade.  If you found a solution elsewhere, post it and ask CS to accept your comment as the answer, or if you don't want to pursue it further then ask them to delete the question.

Cd&

Author

Commented:
this is crap, delete the question. I'll always award an A for every solution in the future.
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.