我有一个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;
}
}
答案 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" />
由于