Я наткнулся на это сообщение, когда искал способ очистить всю форму, связанную с BFCache (кеш кнопок назад / вперед) в Chrome.
В дополнение к тому, что поставлял Сим, мой сценарий использования требовал, чтобыдетали, которые необходимо объединить с Очистить форму на кнопке «Назад»? .
Я обнаружил, что лучший способ сделать это - позволить форме вести себя так, как она ожидает, и вызватьevent:
$(window).bind("pageshow", function() {
var form = $('form');
// let the browser natively reset defaults
form[0].reset();
});
Если вы не обрабатываете события input
для создания объекта в JavaScript или что-то еще в этом отношении, то все готово.Однако, если вы слушаете события, то, по крайней мере, в Chrome вам нужно инициировать событие change
самостоятельно (или любое другое событие, которое вы хотите обработать, включая пользовательское):
form.find(':input').not(':button,:submit,:reset,:hidden').trigger('change');
Тонеобходимо добавить после reset
, чтобы сделать что-то хорошее.