Значения по умолчанию в HTML-форме переопределяют фактические значения во время публикации в Internet Explorer 9 - PullRequest
1 голос
/ 16 сентября 2010

Я просто тестирую новую бета-версию Internet Explorer 9 на своем веб-сайте.Я вижу странное поведение для некоторых значений формы, и я не уверен, является ли это моей ошибкой или ошибкой в ​​IE9.Как вы думаете?

У меня есть одна форма, которая объявляет несколько скрытых полей ввода, как это

<input type="hidden" name="NewStatus" />
<input type="hidden" name="lastSaveStatus" value="" />

Когда страница отправляется, значения сохраняются так (в JavaScript):

newStatus.setAttribute("value", myNewStatus);
var formLastStatus = document.getElementsByName("lastSaveStatus")[0];
formLastStatus.setAttribute("value", lastSaveStatus);
alert(lastSaveStatus);
alert(formLastStatus.getAttribute("value"));
var form = document.getElementById("myForm"); 
form.submit();

Этот код работал годами и во всех браузерах.Оповещения уже указывают, что у меня сейчас проблема с полем lastSaveStatus.В IE9 NewStatus правильно передается на сервер (это означает, что я могу получить доступ к значению в ASP.NET, используя Request.Form ["NewStatus"]).Но значение для "lastSaveStatus" всегда "".

Как видите, я использовал значение = "" в определении моего скрытого поля.Если я удаляю это значение по умолчанию, новое значение правильно передается на сервер.Если я использую значение по умолчанию, всегда передается значение по умолчанию.

Есть идеи, почему это происходит?

1 Ответ

0 голосов
/ 16 сентября 2010

Вы уверены, что это работало в предыдущих версиях IE? У меня всегда были проблемы с этим синтаксисом в IE / Win, однако должно работать следующее:

formLastStatus.value = lastSaveStatus;

Вышеуказанное должно работать и во всех браузерах.

...