簡體   English   中英

在Chrome VS IE9中設置HTML文本輸入字段的defaultValue

[英]Setting defaultValue of HTML Text input field in Chrome VS IE9

如果我有以下HTML

    <input type="text" name="Text1" value="MyText" id="Text1"/>

如果我在頁面運行以下javascript代碼

var text = document.getElementById("Text1");
text.defaultValue = "i am default value";

設置輸入字段的defaultValue我會根據瀏覽器得到兩個不同的反應。 在IE9中,該值未更改,但默認值已更改,這實際上是預期的行為。 在Chrome(和Firefox)中,值和defaultValue均被更改。 為什么? 但是,如果我運行此JavaScript

var text = document.getElementById("Text1");
text.value = text.value; // No functional change, however triggers something in the DOM
text.defaultValue = "i am default value";

那么它會按預期工作,即僅在Chrome中更改了defaultValue

關於為什么以及如何使Chrome(和Firefox)像IE9一樣運行的任何想法?

defaultValue通常是元素的值, 直到用戶與該元素進行交互為止 一旦用戶與元素進行交互,則更改defaultValue屬性后, value屬性將不會更改。 當在用戶交互之前更改defaultValue屬性時,大多數瀏覽器將更新該元素的value屬性。 在瀏覽器之間,此行為可能不一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM