如何使用 javascript 循环浏览页面上的所有输入框并清除其中的数据(使它们全部为空白)?
问问题
24533 次
6 回答
19
试试这个代码:
$('input').val('');
它循环遍历所有input
元素,并将它们的值设置为空字符串。这是一个演示:http: //jsfiddle.net/maqVn/1/
当然,如果你没有 jQuery:
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i += 1) {
inputs[i].value = '';
}
由于我更喜欢功能风格,您可以使用:
Array.prototype.slice.call(
document.getElementsByTagName('input'))
.forEach(function (el) {
el.value = '';
});
于 2012-11-17T22:07:17.950 回答
9
[].forEach.call(document.getElementsByTagName('input'), function(e){
e.value = '';
});
编辑:如果你想获取 textareas 和其他元素,你可以使用querySelectorAll
:
[].forEach.call(
document.querySelectorAll('input, textarea'),
function(e) { e.value = ''; }
);
于 2012-11-17T22:08:56.647 回答
3
var inputs = document.getElementsByTagName("input"),
clearTypes = { "text" : 1, "password" : 1, "email" : 1 }, // etc. you fill this in
i = inputs.length,
input;
while (i) {
if (clearTypes[(input = inputs[--i]).type]) {
input.value = "";
}
}
于 2012-11-26T15:45:20.123 回答
1
没有jQuery:
var list = document.getElementsByTagName('input');
for(var i = 0; i < list.length; i++) {
if(list[i].type == 'text' || list[i].type == 'password')
list[i].value = '';
}
于 2012-11-17T22:10:52.480 回答
1
只是为了注册一个没有 JavaScript 的替代方案,HTML 元素会<input type="reset" />
清除form
. 在某些情况下,这可能就足够了。
于 2012-11-17T22:12:12.313 回答
0
您可以执行以下操作:
<script>
e = document.getElementsByTagName('input');
for (i = 0; i < e.length; i++){
if (e[i].type != 'text') continue;
e[i].value = '';
}
</script>
已编辑:为输入类型不是文本的输入添加了排除!
于 2012-11-17T22:09:12.593 回答