Я обнаружил то, что считаю ошибкой в Firefox, и мне интересно, действительно ли это ошибка, а также какие-либо обходные пути для этого.
Если вы создаете базовую веб-страницу со следующим источником:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
</head>
<body>
<div>
<input id="txtTest" type="text" />
<input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
<input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
<input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
</div>
</body>
</html>
Если вы disable
выполняете textbox
динамическое обновление, а затем обновляете страницу, textbox
он останется отключенным, а не вернется в исходное состояние - не отключен. Я пробовал это в IE8 и Chrome, и они ведут себя так, как я ожидал, сбрасывая textbox
назад, чтобы не отключать, когда я обновляюсь.
Еще одна интересная информация заключается в том, что он по-прежнему делает то же самое, если на входе checkbox
вместо textbox
.
input
элементов при простом обновлении?autocomplete="off"
. Этот пост в блоге мне знаком, так что я определенно сталкивался с этим раньше. Вы должны написать ответ на свой вопрос (или я должен?)Ответы:
Это «функция» Firefox, которая запоминает входные значения формы при обновлении страницы. Чтобы исправить это поведение, вы просто устанавливаете
autocomplete="off"
форму, содержащую входные данные, или просто прямо на вход.Это останавливает работу автозаполнения и не позволяет браузеру запоминать состояние полей ввода.
Кроме того, вы можете просто «полностью обновить», нажав CTRL + F5. Это полностью сбросит текущую страницу.
источник
autocomplete="off"
, в этом случае не работает.Чтобы разобраться с кнопкой возврата, сделайте это ( отсюда )
источник
//enable button here
здесь это излишне; Насколько я понимаю, упомянутые документы заключаются в том, что простое присутствие прослушивателя событий не позволит сохранить страницу в BFcache.Как упоминалось ранее, вам нужно добавить
autocomplete="off"
к своим кнопкам.Вот фрагмент
sh
+perl
для автоматизации этого в случае<button>
s в ваших файлах / шаблонах HTML (при некоторых предположениях):Предположения таковы:
Открывающие
<button>
теги начинаются и заканчиваются на одной строке. Если это не так (например, они могут быть разделены на несколько строк), тогда замена/g
на/gs
должна помочь (s
модификатор также приводит.
к совпадению символов новой строки)Допустимый HTML (например, нет смешных символов между
<
и>
) и нет неэкранированных символов больше чем (>
) внутри открывающего тега.источник
Это действительно открытая ошибка в Firefox. В MDN
autocomplete
также есть примечание : (прокрутите вниз до второго желтого поля):Если вы используете Bootstrap, вас может заинтересовать
источник