Рассмотрите следующую часть кода:
<select>
<option value="0">foo</option>
<option value="1" selected="selected">bar</option>
</select>
Если я выбираю первую опцию и перезагружаю страницу, первая опция остается выбранной, и выбор не переключается на вторую опцию. Как я могу вынудить Firefox уделить первостепенное значение HTML?
Хороший вопрос. Я думаю, что это невозможно сделать с помощью чистого HTML.
Вы можете попробовать использовать JavaScript для сброса формы. Я не знаю, на что он будет сброшен, но я предполагаю, что он будет делать то, что вы хотите:
document.forms["formname"].reset();
, конечно, должен запускаться при событии load
(или в ready ()
в jQuery).
Когда вы загружаете свою страницу, selected = "selected"
сообщит, какую опцию выделить в списке, чтобы это сработало ... в первый раз: D.
Чтобы перезагрузить страницу, вы должны щелкнуть в адресной строке браузера, а затем нажать Enter или ввести CTRL + SHIFT + R.
Если я правильно помню, это как-то связано с кешированием. Firefox запомнит значения элементов формы и будет использовать их вместо полного обновления, что полезно, если вы заполнили половину формы и не хотите, чтобы вас заставляли начинать заново при обновлении.
Однако, как вы видели, это создает другие проблемы. На следующей странице описаны некоторые способы решения этой проблемы.
У меня была эта проблема, и мое решение заключалось в использовании PHP для присвоения каждому имени случайного 5-значного ключа, это мешает Firefox запоминать части форм. например:
<input type="text" name="35472username"></input>
<input type="password" name="56784password"></input>
тогда при обработке формы я буду substr ()
имя.
Он работает хорошо, но могут быть более эффективные методы
Выберите второй вариант, используя Javascript при загрузке страницы.