Что-то вроде этого должно сработать, но сложно точно узнать, что вы ищете, без публикации дополнительных подробностей:
document.getElementById("myForm").onsubmit = function() {
var fields = this.getElementsByClassName("required"),
sendForm = true;
for(var i = 0; i < fields.length; i++) {
if(!fields[i].value) {
fields[i].style.backgroundColor = "#ff0000";
sendForm = false;
}
else {
//Else block added due to comments about returning colour to normal
fields[i].style.backgroundColor = "#fff";
}
}
if(!sendForm) {
return false;
}
}
Это присоединяет слушателя к событию onsubmit
формы с id
"myForm". Затем он получает все элементы в этой форме с классом «required» (обратите внимание, что getElementsByClassName
не поддерживается в более старых версиях IE, так что вы можете поискать альтернативы там), просматривает эту коллекцию, проверяет значение каждый, и меняет цвет фона, если он находит пустые. Если есть какие-либо пустые, это предотвращает отправку формы.
Вот рабочий пример .