多个文本区域
Multiple textareas
如何将多个文本区域重置为其默认值(文本)?不给他们具体的 class 有可能吗?我只找到了一个文本输入的解决方案,但在 1 页上的多个文本区域没有成功,由功能重置。
<html>
<body>
<textarea rows="1" cols="30">Hello World</textarea><br/>
<textarea rows="1" cols="30">Hello Second World</textarea><br/>
<button onclick="reset()">Reset</button>
<script>
function reset() {
document.querySelectorAll('textarea').value = <!--Default Value-->
}
</script>
</body>
</html>
您需要修改如下js脚本:
function reset() {
document.querySelectorAll('textarea').forEach((elem) => elem.value = "Desiered value");
}
或者您可以使用 HTML 占位符并将 textarea 值设为空。
这样的怎么样?
Address:<br>
<textarea id="myTextarea">
342 Alvin Road
Ducksburg</textarea>
<textarea id="myTextarea2">
Value 2</textarea>
<p>Click the button to change the contents of the text area.</p>
<button type="button" onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.getElementById("myTextarea").value = "Txt1";
document.getElementById("myTextarea2").value = "Txt2";
}
</script>
编辑以匹配评论中的用例
根据MDN,textarea没有值属性。
当页面加载时,文本区域的默认值是介于某个值之间的任何值。因此,当用户更改它时,我们无法找到原始值。
为了克服这个问题,我们需要某种机制来存储默认值
在你的情况下,如果你有很多元素(文本区域),使用数据属性将帮助我们在页面加载和用户更改值后识别默认值
所以用下面的例子
<textarea rows="1" cols="30" data-default="Default Val">Hello World</textarea><br/>
<textarea rows="1" cols="30" data-default="Default Val1">Hello World</textarea><br/>
<textarea rows="1" cols="30" data-default="Default Val2">Hello World</textarea><br/>
<button onclick="reset()">Reset</button>
<script>
function reset() {
var textareas = document.querySelectorAll('textarea');
for(i =0; i < textareas.length; ++i){
textareas[i].value = textareas[i].getAttribute('data-default');
}
}
</script>
如何将多个文本区域重置为其默认值(文本)?不给他们具体的 class 有可能吗?我只找到了一个文本输入的解决方案,但在 1 页上的多个文本区域没有成功,由功能重置。
<html>
<body>
<textarea rows="1" cols="30">Hello World</textarea><br/>
<textarea rows="1" cols="30">Hello Second World</textarea><br/>
<button onclick="reset()">Reset</button>
<script>
function reset() {
document.querySelectorAll('textarea').value = <!--Default Value-->
}
</script>
</body>
</html>
您需要修改如下js脚本:
function reset() {
document.querySelectorAll('textarea').forEach((elem) => elem.value = "Desiered value");
}
或者您可以使用 HTML 占位符并将 textarea 值设为空。
这样的怎么样?
Address:<br>
<textarea id="myTextarea">
342 Alvin Road
Ducksburg</textarea>
<textarea id="myTextarea2">
Value 2</textarea>
<p>Click the button to change the contents of the text area.</p>
<button type="button" onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.getElementById("myTextarea").value = "Txt1";
document.getElementById("myTextarea2").value = "Txt2";
}
</script>
编辑以匹配评论中的用例
根据MDN,textarea没有值属性。
当页面加载时,文本区域的默认值是介于某个值之间的任何值。因此,当用户更改它时,我们无法找到原始值。
为了克服这个问题,我们需要某种机制来存储默认值
在你的情况下,如果你有很多元素(文本区域),使用数据属性将帮助我们在页面加载和用户更改值后识别默认值
所以用下面的例子
<textarea rows="1" cols="30" data-default="Default Val">Hello World</textarea><br/>
<textarea rows="1" cols="30" data-default="Default Val1">Hello World</textarea><br/>
<textarea rows="1" cols="30" data-default="Default Val2">Hello World</textarea><br/>
<button onclick="reset()">Reset</button>
<script>
function reset() {
var textareas = document.querySelectorAll('textarea');
for(i =0; i < textareas.length; ++i){
textareas[i].value = textareas[i].getAttribute('data-default');
}
}
</script>