1
我只是在使用我的網站測試全新的Internet Explorer 9 Beta。我看到了一些表單值的奇怪行爲,我不確定這是我的錯誤還是IE9中的錯誤。你怎麼看?HTML表單默認值覆蓋了Internet Explorer 9中後期的實際值
我有一個聲明這樣
<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被正確地傳送到服務器(意味着我可以使用Request.Form [「NewStatus」]訪問ASP.NET中的值)。 但「lastSaveStatus」的值始終爲「」。
正如你所看到的,我在我的隱藏字段的定義中使用了一個值=「」。如果我刪除此默認值,則新值將正確傳輸到服務器。如果我使用默認值,則始終會傳輸默認值。
任何想法爲什麼會發生這種情況?
是的我非常確定它在IE6,7,8中工作。它也適用於9,NewStatus值也使用setAttribute。順便說一下,警報(formLastStatus.getAttribute(「value」));確實會提醒正確的新價值。但是這個值不會被轉移,但是默認值是。 – newtogit 2010-09-16 06:46:58