如果为NULL,则更改数组文本框的bgcolor

时间:2014-01-28 05:53:17

标签: javascript jquery html css

我有一个name="quiztxtBox[]"的输入文字,如您所见,它是array。如果某个文本框的值为null,我想更改文本框的bg颜色。

var quiztxtBox =  document.getElementById('quiztxtBox[]');
  for (i=0; i<quiztxtBox.length; i++)
      {
       if (quiztxtBox[i].value == "")
        {
          alert('Either question or answer is empty.');
          quiztxtBox[i].focus();
          quiztxtBox[i].css({"background-color":"#f6d9d4"}); 
          return false;
        }
      }

2 个答案:

答案 0 :(得分:0)

您使用的是 .css() ,这是一个jQuery函数。

你应该在你的页面上包含jQuery,将你的DOM元素添加到jQuery对象并应用 .css() 这样的函数

此外,您应该使用getElementsByName

$(quiztxtBox[i]).css({..});

或者只使用vanilla JS,如下所示

  var quiztxtBox =  document.getElementByName('quiztxtBox[]');
  for (i=0; i<quiztxtBox.length; i++) {
      if (quiztxtBox[i].value === "") {
          alert('Either question or answer is empty.');
          quiztxtBox[i].focus();
          quiztxtBox[i].style.backgroundColor = '#f6d9d4'; // this line 
      }
  }

<强> DEMO

答案 1 :(得分:0)

我不确定如果你的方法是正确的,getElementById总是返回一个元素而没有集合,也许如果你可以使用

获得文本框的集合会更好
document.getElementsByName('quiztxtBox')

但请记住,您可能需要将所有文本框的name属性更新为

<input name="quiztxtBox" value="yourvalue" id="someuniquestuff1" />
<input name="quiztxtBox" value="yourvalue" id="someuniquestuff2" />
<input name="quiztxtBox" value="yourvalue" id="someuniquestuff3" />
<input name="quiztxtBox" value="yourvalue" id="someuniquestuff4" />

由于