gpt4 book ai didi

javascript - defaultValue 在 JavaScript 代码中不起作用

转载 作者:行者123 更新时间:2023-12-02 18:13:43 24 4
gpt4 key购买 nike

这是关于 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 并按下按钮,我得到的输出是旧值 Hello新值 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 ValueNew value Hel

这是demo

任何人都可以解释为什么两个示例中的 defaultValue 存在差异

最佳答案

因为默认值是由输入字段的初始值设置的...在第二种情况下是空字符串...您正在使用脚本更改该值,该脚本不会更新 defaultValue

defaultValue:

The default value as originally specified in HTML that created this object.

您可以使用.prop()更新 value 后更新 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com