Обновление браузера - PullRequest
       20

Обновление браузера

15 голосов
/ 09 сентября 2008

Когда пользователь нажимает кнопку «Обновить» в своем браузере, он перезагружает страницу, но сохраняет содержимое полей формы. Хотя я вижу, что это полезное значение по умолчанию, на некоторых динамических страницах это может раздражать, что приводит к нарушению работы пользователя.

Есть ли способ, в HTTP-заголовках или эквивалентах, изменить это поведение?

Ответы [ 6 ]

34 голосов
/ 09 сентября 2008
<input autocomplete="off">
7 голосов
/ 09 сентября 2008

Это должно сработать:

<body onload="document.FormName.reset();">

Замените FormName на имя вашей формы, и тогда все поля будут сброшены, когда пользователь нажмет кнопку обновить в своем браузере.

Или, если вы хотите сбросить только некоторые поля, добавьте это в конец вашей страницы:

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

Это будет сбрасывать поля каждый раз, когда пользователь заходит на страницу, включая обновления

4 голосов
/ 28 ноября 2009

Добавьте атрибут autocomplete, для которого установлено значение «off», на входы, которые вы не хотите обновлять. Например:

<input type="text" name="pin" autocomplete="off" />

см ссылка W3C

хотя и не упоминается в ссылке, он работает также с флажками, по крайней мере, в Firefox.

2 голосов
/ 09 сентября 2008

Вы можете вызвать метод reset () объекта формы из события загрузки тела вашего HTML-документа, чтобы очистить формы.

h1. Ссылки

0 голосов
/ 17 сентября 2008

Данные в формах не являются частью спецификации w3c. Это функция браузера, чтобы сделать вашу жизнь проще. Так что, если вы не хотите сохранять данные после перезагрузки, вы можете установить значения всех форм в null после загрузки, как сказал Эспо. Даже если страница не кэшируется, она отображает данные в форме, потому что данные не являются частью HTML-кода страницы. Вы можете попробовать это тоже (не знаю, сработает ли это):

<input type="text" name="foo" value="">
0 голосов
/ 09 сентября 2008

Интересно, если вы установите, чтобы страница не кэшировалась через метатеги, это решит проблему? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html Если это произойдет, будет полезно работать в браузере с отключенным Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...