Я столкнулся с ошибкой в Firefox, связанной с некоторой несинхронизацией информации в моей форме при использовании кнопки перезагрузки после изменения некоторых данных формы (через AJAX).
В IE (7) при обновлении всегда повторяется отправка первоначально отправленных данных. Итак, если я загружаю форму, которая затем изменяется через JS / AJAX, и обновляю, я вижу то, что видел при первой загрузке.
В Firefox (4) я склонен (по крайней мере, в этом случае) видеть более новые данные. Однако из-за того, что я не обновил некоторые элементы формы, форма, похоже, повторно отправляется с частично неверными данными, что в этом случае может привести к серьезной путанице.
Мой вопрос: в чем именно заключается разница между тем, как Firefox и IE обрабатывают повторную публикацию? Это где-нибудь задокументировано? Является ли в любом случае более стандартным? А как насчет других браузеров?
Редактировать : Возможно, стоит отметить, что Firefox, похоже, также рендерит только определенные элементы (в моем случае класс метки изменяется, но не отключается состояние входа). Есть ли в Firefox специальные правила для обновления DOM при обновлении и повторной публикации?
Я проверил возврат из (пере) POST в FF и подтвердил, что он ведет себя необычно. В источнике возврата я получаю этот бит:
<label id="delSheetContainer"
title="Estimate Sheets with Schedule Activities in the past may not be deleted."
class="">
<input id="delSheet" name="delSheet"
type="checkbox"
tabindex="3"
value="false"
//Inserted note: this is where the disabled value would have been
onclick="this.value=(this.value && 1); bSave=true; setBtn(this.checked);"
/>Delete Sheet
</label>
Но в браузере (и Firebug) я вижу все еще отключенный флажок. Ярлык, однако, был должным образом обновлен. Кто-нибудь может подробно описать это поведение? (ссылки приветствуются!)
Редактировать : Как объяснил Борис, Firefox поддерживает «состояние формы» через обновления. Моя проблема на самом деле вызвана этим фактом; сервер возвращает нужные данные, но Firefox все равно поддерживает состояние формы.