HTML - input value kept after Refresh

2019-02-04 06:24发布

Usually, when a refresh is made on an HTML page, the values for input fields are kept (unless you do Ctrl+F5).

Is there a header or other type of setting than can change this behavior, without chaging anything on the form or input itself?

I have a site where the input value is not kept after a page refresh in Production. However I do not have this behavior when I test this code on my local machine.

5条回答
爷的心禁止访问
2楼-- · 2019-02-04 06:26

As far as I know, there is no standard way to implement it, so before you can disable it, you first you need to determine how the site is doing it. There are many ways they could have done it, as you can see from the variety of different answers here.

A good way of understanding what is going on is to reduce the code to the simplest possible example that still reproduces the issue. Remove all graphics, unneeded text, style sheets and other formatting, irrelevant javascript, irrelevant HTML tags, etc. but always checking that you can still reproduce the issue. Eventually there will be so little code left that it should be obvious what it is that is causing the fields to be reset. You will have to do all this on the production machine, since you cannot reproduce it locally. To do this, take a copy of the scripts and rename them to index2.html, etc. Make sure you have backups of your production system before doing this, in case something goes wrong.

If you still can't understand how to fix the issue after doing this, the code should be sufficiently small that it can be posted here and someone else will be able to work it out.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-02-04 06:29

If you set the attribute autocomplete=off, the content will never be stored.

Alternatively, there's a plethora of ways to accomplish this with javascript, depending on exactly what you want to accomplish, whether it be clearing the whole form (use the reset() method), or resetting the single field.

查看更多
时光不老,我们不散
4楼-- · 2019-02-04 06:42

How about setting a default value on DOM ready with javascript?

Something like

<input name="foo" id="foo" type="text">

$('#foo').val('3')
查看更多
叛逆
5楼-- · 2019-02-04 06:45

You can add form.reset() to the body onload:

<html>
    <body onload="form1.reset();">
        <form id="form1">
            <textarea id="text"></textarea>
        </form>
    </body>
</html>

Update: while this might be a useful technique, I have now found out that it doesn't actually answer the submitter's question.

查看更多
何必那么认真
6楼-- · 2019-02-04 06:52

I normally use this:

var reset_input_values = document.querySelectorAll('input');
for (var i = 0; i < reset_input_values.length; i++) {
  reset_input_values[i].value = 'value you want ';
}
查看更多
登录 后发表回答