Очистить HTML-форму при повторном посещении через историю - PullRequest
1 голос
/ 18 июля 2009

Я только что реализовал sendmail в PHP, который вызывается с html-страницы с помощью формы. Требуется заполнить несколько текстовых полей, а затем нажать кнопку отправки, в результате чего письмо будет отправлено. Пока все хорошо.

Теперь мне нужно очистить эту форму при успешной передаче почты.

Я предполагаю, что Internet Explorer (или другой) сохраняет все значения полей при переходе на другую страницу. Это позволяет легко вернуться в историю браузера и повторно отправить почту. Я хочу, чтобы при успешной передаче почты кэш форм (или что-то еще) очищался. Это должно быть сделано на странице PHP под названием.

Кто-нибудь знает, как решить эту проблему?

Ответы [ 5 ]

1 голос
/ 18 июля 2009

Это то, о чем вы говорите?

SO393882 - Кросс-браузерные методы для отключения кэширования паролей

Хотя в основном они говорят о имени пользователя / пароле, я думаю, что любой из этих методов может предотвратить то, что вам нужно предотвратить для вашей формы. В частности, решения, которые включают хеширование / изменение имен полей ввода и просто autocomplete=off в вашем теге <input>.

0 голосов
/ 18 июля 2009

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

0 голосов
/ 18 июля 2009

Вы можете отправить форму через AJAX и в случае успеха отправить обратно Javascript, который очищает все поля формы.

0 голосов
/ 18 июля 2009

Если единственной проблемой является возможность прочитать форму с помощью кнопки «назад»:

window.onunload=function(){for(var i=0;i<document.forms.length;i++){document.forms[i].reset()}}

Это предполагает, что использование формы не приведет к выгрузке / выходу страницы.

0 голосов
/ 18 июля 2009

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

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