none
Looking to get rid of "Internet Explorer needs to resend the information"

    Question

  • Looking to get rid of "Internet Explorer needs to resend the information"...

    Please help,

    I need IE to not post the following message when a user refreshes a page that they got to from an HTML form with method=post:

    To display the webpage again, Internet Explorer needs to resend the information you've previously submitted.
    If you were making a purchase, you should click Cancel to avoid a duplicate transaction. Otherwise, click Retry to display the webpage again.

    I am well aware of the response.redirect, but it is not an option. I need something client side to block this, whether it is a ActiveX control, java script or something. I can not have the "redirect" option, as it will cause much wasted internet communication, require tons of recoding and security-reducing code to be added, but of the most restricting aspect, is that the amount of data I need posted far exceeds what a query string of method=get can handle.

    Surely, there must be something, if through an ActiveX control, to reach into IE and kill that message, and even better, have it "think" it never did a method=post before. Preferably such that it causes IE to erase all data it ever posted.





     

    • Edited by Jason.Smith Friday, June 26, 2009 6:20 PM fixing double encoded title
    Monday, June 22, 2009 3:09 PM

All replies

  • The client prefers to get warned if he'she is paying something twice. Change it and you will have a public relationship nightmare. Do a server side transfer as you are describing.
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    Monday, June 22, 2009 5:51 PM
  • Thanks for the reply. But not every web page needing to post more than 2048 bytes of data are dealing with purchasing. In fact, I would dare say, most web pages needing to post more than 2048 bytes of data are not dealing with purchasing.

    I have learned some things. If I use document.write to rewrite the whole page, at the event of body.onload or document.onreadystatechange, the browser message is killed. Example:

    ~~~~ Some ASP stuff ~~~~
    function OnLoad()
    {
      var csBody = document.body.innerHTML;
      document.write(csBody);
      document.style.display = "inline";
    }
    </script>
      <body onload='OnLoad();' style="display: none;">
        Count=<%=iCount%><br>
        <form method=post action="Redirect-EXP.asp">
          <input type=text name=STATE value="<%=csSTATE%>"><br>
          <input type=submit value="Submit">
        </form>
      </body>
    </html>

    The interesting thing about this approach is that it completely kills the IE "resend info", and does not let F5/Refresh bother the server. This is great, not perfect, but along the lines of what I need.

    It has these limitations.

    1) To truly refresh EVER again, one will have to code a button as even Control-F5 does not get any response back to the server.
    2) Styles/script, and absolute/relative positioned elements get messed up.

    Has anyone pursued this corse of action against the "resend info" dialog?
    Any ideas on making absolute/relative positioning to behave properly again?

    I also tried document.location.search = "" but this caused the web page to immediately post, and worse, it posted with no form or query string data.



    Monday, June 22, 2009 6:18 PM
  • You can also avoid a repost by using AJAX. Ask in a server side programming forum for details.
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful. This posting is provided "AS IS" with no warranties, and confers no rights.
    Visual C++ MVP
    Monday, June 22, 2009 6:53 PM
  • Yes, I looked into AJAX. But the XMLHttpRequest is the way to go.

    Also, the use of iframes works.

    The W3C should change FORM elements to have an option to turn that message off. If not IE giving an option. It surely must be well more than 90%++ useage of FORM elements to not need that message.

    At any rate, this case is closed.

    TY for the help.
    Monday, June 22, 2009 8:44 PM
  • I know this sounds odd, but I actually need the internet explorer, to display the webpage again..... box to pop up on a certain page, or every page for that matter, and it is not.  (for some reason it does on all my other pc's, but on this one (with ie 8 and xp) it does not show up.

    I have a macro that needs to click the ok button, but since its not there it screws up everything.

    anyone know how I can get it to appear? 

    thanks
    Thursday, August 27, 2009 4:40 PM
  • to get rid of "Internet Explorer need to resend the information you've previously submitted"

    use window.opener.forms[0].submit() instead of window.opener.location.reload(true)

    Tuesday, September 28, 2010 11:26 PM
  • how  will i use this window.opener.forms[0].submit() ?

    in what event will i put this code?

    kindly post the complete code thanx!

    Friday, October 15, 2010 10:21 AM
  • var form1=window.parent.opener.document.getElementById('formid1');

    form1.submit();

    • Proposed as answer by kabsri Wednesday, April 20, 2011 12:04 AM
    Wednesday, April 20, 2011 12:04 AM
  • Hi, sorry where am I supposed to put the

    var form1=window.parent.opener.document.getElementById('formid1');

    form1.submit();

    do I just put it into the script block of my master page?  the refresh button still gives me the same warning if I try refreshing the page.

     

    thanks,

     


    Cool got it to work,  just have  to make my masterpage form to method="get" as well.   

    by any chance can someone tell me what potential differences I will get if I change the method from post to get?

     

    one thing I have noticed after changing the method=get ,  I get a really really long string in the browser URL, looks like the view state is stored within the URL,  is this normal?  is there a way to accomplish this without the really long URL string?

     thanks,


    Wednesday, May 25, 2011 11:24 PM
  • Thank you  Sitab where ever you are.

     

    the solution for my long standing issue was window.forms[0].submit()

     

    :)

    Sunday, June 19, 2011 9:50 AM
  • BINGO! Thanks for that!

    I did have to add 'document' as in window.opener.document.forms[0].submit().

    Still, that made my day and solved a problem I've had for weeks.


    RickMcQ

    Tuesday, February 12, 2013 8:08 PM
  • Even my issue is resolved using the following lines of code.

    VB.NET Code

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "CLOSE", "<script language='javascript'> window.opener.document.forms[0].submit(); self.close();</script>")

    Thank you to the members of the thread for being informative.


    Friday, August 23, 2013 4:45 PM