设置乘法元素javascript的默认值

时间:2014-09-23 13:16:29

标签: javascript html

我尝试使用javascript设置DOM元素的默认值。 首先,我需要检查字段值是否为空。如果是,则将值更改为0。 如果不是,那就什么都不做。

文字字段:

<input class="field" type="text" name="feature_value_1" value="" size="50" style="width: 350px;">
<input class="field" type="text" name="feature_value_2" value="1" size="50" style="width: 350px;">
<input class="field" type="text" name="feature_value_3" value="" size="50" style="width: 350px;"> 

字段数量总是在变化。

我试图做这样的事情

var feature_value = document.getElementsByName("feature_values_" + "/^\d+$/").value;
if(feature_value !== ""){
    change the default values
}

而且,据我所知,必须使用一些循环,但我不知道如何实现这一点。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

这个想法是正确的,但你错过了实际的循环。它可能看起来像这样

for (var i = 0; i < feature_value.length; i++)
    if (feature_value[i].value === "")
        feature_value[i].value = "0";

答案 1 :(得分:2)

正则表达式没有匹配。

最佳解决方案是使用公共className并循环遍历集合。

var elems = document.getElementsByClassName("commonClass");

其他选项是使用querySelectorAll,其中&#34;以&#34;开头。匹配

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";
   }
}

参考文献:


编辑,添加runnable片段:

&#13;
&#13;
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";
   }
}
&#13;
<input class="field" type="text" name="feature_value_1" value="" size="50" style="width: 350px;">
<input class="field" type="text" name="feature_value_2" value="1" size="50" style="width: 350px;">
<input class="field" type="text" name="feature_value_3" value="" size="50" style="width: 350px;"> 
&#13;
&#13;
&#13;