2009-07-18 2 views
1

Я только что внедрил sendmail в PHP, вызванный с html-страницы с формой. Для этого требуется заполнить некоторые текстовые поля, а затем нажать кнопку отправки, в результате чего будет отправлено письмо. Все идет нормально.Очистить форму html при переходе по истории

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

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

У кого-нибудь есть ключ к решению этой проблемы?

ответ

0

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

0

Если проблема только в состоянии прочитать форму, используя кнопку назад:

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

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

1

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

SO393882 - Cross-browser techniques for disabling password caching

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

0

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

0

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

Смежные вопросы