为多元素javascript设置默认值
我正在尝试使用javascript设置DOM元素的默认值。 首先,我需要检查字段值是否为空。如果是,则将该值更改为0。 如果不是,那就什么也不做 文本字段:为多元素javascript设置默认值,javascript,html,Javascript,Html,我正在尝试使用javascript设置DOM元素的默认值。 首先,我需要检查字段值是否为空。如果是,则将该值更改为0。 如果不是,那就什么也不做 文本字段: 而且,据我所知,必须使用一些循环,但我不知道如何实现这一点。有人能帮我吗?这个想法是正确的,但是你错过了实际的循环。它可能看起来像这样 var feature_value = document.getElementsByName("feature_values_" + "/^\d+$/").value; if(feature_value !
而且,据我所知,必须使用一些循环,但我不知道如何实现这一点。有人能帮我吗?这个想法是正确的,但是你错过了实际的循环。它可能看起来像这样
var feature_value = document.getElementsByName("feature_values_" + "/^\d+$/").value;
if(feature_value !== ""){
change the default values
}
for (var i = 0; i < feature_value.length; i++)
if (feature_value[i].value === "")
feature_value[i].value = "0";
这个想法是正确的,但是你错过了实际的循环。它可能看起来像这样
var feature_value = document.getElementsByName("feature_values_" + "/^\d+$/").value;
if(feature_value !== ""){
change the default values
}
for (var i = 0; i < feature_value.length; i++)
if (feature_value[i].value === "")
feature_value[i].value = "0";
正则表达式没有匹配项 最好的解决方案是使用公共类名并在集合上循环
var elems = document.getElementsByClassName("commonClass");
另一个选项是使用以匹配开头的querySelectorAll
var elems = document.querySelectorAll("[name^='feature_value_']");
循环
var i;
for (i=0; i<elems.length; i++) {
if (!elems[i].value.length) { //you might want to trim this
elems[i].value = "0";
}
}
参考资料:
编辑、添加可运行的代码段:
var elems=document.querySelectorAll[name^='feature\u value'];
var i;
对于i=0;i正则表达式不匹配 最好的解决方案是使用公共类名并在集合上循环
var elems = document.getElementsByClassName("commonClass");
另一个选项是使用以匹配开头的querySelectorAll
var elems = document.querySelectorAll("[name^='feature_value_']");
循环
var i;
for (i=0; i<elems.length; i++) {
if (!elems[i].value.length) { //you might want to trim this
elems[i].value = "0";
}
}
参考资料:
编辑、添加可运行的代码段:
var elems=document.querySelectorAll[name^='feature\u value'];
var i;
对于i=0;我建议使用“==”,因为==0是真实的答案没有提到第一个问题,即getElementsByName是错误的。只回答了一半的问题。我建议使用“==”,因为==0是trueAnswer没有提到getElementsByName错误的第一个问题。只回答了一半的问题。我不知道我做错了什么,但它不会改变任何控制台。日志写入长度:0Ah,我复制了上面名称错误的代码。实际名称中没有s。它仍然显示我使用的var elems=document.querySelectorAll[name^='feature\u value_']的长度0;代码对我来说运行良好,只是用更新来显示它正在运行。您正在尝试在元素加载到页面之前访问它们,或者名称错误。是!你是对的!!页面加载之前执行的脚本。非常感谢您的帮助我不知道我做错了什么,但它不会改变任何控制台。日志写入长度:0Ah,我复制了您的代码,上面的代码名称错误。实际名称中没有s。它仍然显示我使用的var elems=document.querySelectorAll[name^='feature\u value_']的长度0;代码对我来说运行良好,只是用更新来显示它正在运行。您正在尝试在元素加载到页面之前访问它们,或者名称错误。是!你是对的!!页面加载之前执行的脚本。非常感谢你的帮助