这是关于javascript .value
和.defaultValue
的简单问题
这是我的第一个html
<input id="txt" value="Hello">
</input>
<input type="button" id="btn" />
和对应的js
$('#btn').click(function(){
alert('Old Value '+ document.getElementById('txt').defaultValue);
alert('New value ' + document.getElementById('txt').value);
});
因此,上述html默认情况下具有
Hello
,现在,如果我删除一些字符并将其设置为Hel
并按下按钮,则我得到的输出为Old Value Hello
和New value Hel
这是demo
现在这是我的第二个html
<input id="txt" ></input>
<input type="button" id="btn" />
和对应的js
$('#txt').val('Hello');
$('#btn').click(function(){
alert('Old Value '+ document.getElementById('txt').defaultValue);
alert('New value ' + document.getElementById('txt').value);
});
在这里,如果我删除一些字符并将其设为
Hel
并按按钮,则我得到的输出为Old Value
和New value Hel
这是demo
任何人都可以解释为什么两个示例中defaultValue的差异
最佳答案
由于默认值是由输入字段的初始值设置的...在第二种情况下为空字符串...您正在使用不会更改defaultValue
的脚本来更改该值
defaultValue:
最初在创建此HTML的HTML中指定的默认值
宾语。
您可以在更新值后使用.prop()更新defaultValue的值
$('#txt').val('Hello').prop('defaultValue', 'Hello');
要么
$('#txt').val('Hello').prop('defaultValue', function(){
return this.value
});
演示:Fiddle
关于javascript - defaultValue在javascript代码中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19489475/