English 中文(简体)
HTML - input value kept after Refresh
原标题:

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.

问题回答

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.

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.

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.

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

Something like

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

$( #foo ).val( 3 )

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  ;
}

I got this solved.

Work Around:

  1. Add a boolean flag to your typescript file and set disable(false) by default
  2. Place *ngIf on your html
  3. On ngAfterViewInit() set that to true




相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签