IE не находит значения скрытых полей, созданные с помощью JS - PullRequest
0 голосов
/ 25 января 2010

У меня есть страница с несколькими скрытыми полями. Они заполняются значениями с помощью скрипта (JS / jQuery), когда пользователь завершил выбор пары опций.

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

Но IE (а также Opera, хотя я установил значение history.navigationMode в совместимое) показывает пустые значения, хотя я вижу правильные значения в сгенерированном исходном коде IE.

Я также добавил тестовую функцию, чтобы показать значения onunload, которые работали нормально. Но нажатие кнопки «назад» IE все еще не «распознает» их.

Понятия не имею, в чем проблема. Кто-нибудь?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 января 2010

На самом деле, Firefox даже сохраняет текущие значения при нажатии на обновление, а IE сбрасывает страницу до начальных значений при обновлении. Я думаю, это то же самое. Ни один стандарт не описывает, что на самом деле должно происходить здесь, поэтому вам не следует полагаться на то, как разные браузеры решат справиться с этим сценарием.

1 голос
/ 25 января 2010

Вы полагаетесь на то, что браузер автоматически заполняет правильные поля формы при повторном вводе формы с помощью кнопки назад. AFAIK, только FF и Safari делают это по умолчанию. Может ли он быть активирован в IE и других браузерах, я не знаю. Во всяком случае, вы не можете положиться на это в дикой природе.

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

...