元素?-6ren"> 元素?-如果我在页面上放置一个已经设置了值的表单控件,触发包含表单的重置功能会将值返回到页面加载时的原始值。 但是,如果我使用 javascript 创建一个表单控件,并将其附加到 DOM,则在重置表单时表单-6ren">
gpt4 book ai didi

javascript - 如何防止表单重置清除我的 <input type ="text"> 元素?

转载 作者:数据小太阳 更新时间:2023-10-29 05:51:03 25 4
gpt4 key购买 nike

如果我在页面上放置一个已经设置了的表单控件,触发包含表单的重置功能会将值返回到页面加载时的原始值。

但是,如果我使用 javascript 创建一个表单控件,并将其附加到 DOM,则在重置表单时表单控件将被删除并变为空白。我怎样才能防止这种行为?我想给输入一个默认值,这样它就会像页面加载时页面上的控件一样被处理。

在以下示例中,单击“重置”会清除一个输入(脚本添加的输入),但不会清除另一个(静态输入)。我想要的是两个输入都保留其值(value)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
<head>
</head>
<body>
<form id="container">
<input type="reset" value="RESET" />
<input type="text" value="DefaultValue" />
</form>
<script type="text/javascript">
window.onload = function() {
var input = document.createElement('input');
input.setAttribute('value', 'DefaultValue2');
document.getElementById('container').appendChild(input);
};
</script>
</body>
</html>

虽然我没有在这个简单的测试用例中包含 jQuery,但我的项目使用了 jQuery,我很乐意使用 jQuery 解决方案。

最佳答案

表单 reset() 使用了 defaultValue 属性,所以您需要做的就是设置...

window.onload = function() { 
var input = document.createElement('input');
input.value = input.defaultValue = 'DefaultValue2';
document.getElementById('container').appendChild(input);
};

关于javascript - 如何防止表单重置清除我的 &lt;input type ="text"> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478454/

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