javascript更改多个输入背景颜色

时间:2014-02-15 15:32:22

标签: javascript background-color

我有大约120个输入

<input type="text" />

我打算用一些文字填充其中一些,而其他的则是空的。 有没有办法使用提交按钮,使所有空输入改变背景颜色? 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您愿意,可以使用jQuery轻松完成。这是使用javaScript和jQuery的解决方案。

HTML:

<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />

<input type="button" id="submitButton" value="Submit" />
//for javaScript
<!-- <input type="button" id="submitButton" value="Submit" onclick="validateField();" /> -->

javaScript:

function validateField(){
    var textFields = document.getElementsByTagName("input");
        for(var i=0; i < textFields.length; i++){
        if(textFields[i].type == "text" && textFields[i].value == "")
        {
            textFields[i].style.backgroundColor = "red";
        }
        else {
            textFields[i].style.backgroundColor = "white";
        }
    }   
}

jQuery:

$("#submitButton").click(function(){
    $("input").each(function(){
        if($(this).attr("type") == "text" && $(this).val() == "")
        {
            $(this).css("background-color", "red");
        }

        else {
            $(this).css("background-color", "white");
        }
   });
});

javaScript Demo

jQuery Demo

答案 1 :(得分:0)

这应该有效:

function verifyInputs() {
    var inputs = document.querySelectorAll('input');
    for (var i=0; i<inputs.length; i++) {
        if (inputs[i].type == 'text' && inputs[i].value == "") {
            inputs[i].style.backgroundColor = 'red'
        }
    }
}
// This should be triggered on dom load / window load or in case when you want to check and mark the inputs with color
verifyInputs();

Click here for JSFIDLE demo