Зачем такие сложности, если у инпутов есть свойство
defaultValue
?
<form method="post" action="#" onsubmit="return checkChangedInputs(this)">
<div><input value="foo" /><input value="foo" /><input value="foo" /><input value="foo" /></div>
<div><input value="foo" /><input value="foo" /><input value="foo" /><input value="foo" /></div>
<div><input value="foo" /><input value="foo" /><input value="foo" /><input value="foo" /></div>
<div><input value="foo" /><input value="foo" /><input value="foo" /><input value="foo" /></div>
<div><input type="submit" /></div>
</form>
<script type="text/javascript">
function checkChangedInputs(form){
var inputs = form.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++){
var input = inputs[i];
if (input.type == "button" || input.type == "submit" || input.type == "reset") continue;
/* кнопки трогать незачем */
if (input.value === input.defaultValue){
/* Здесь мы делаем что-нибудь полезное. Например, добавляем аттрибут disabled, чтобы инпут не отправлялся. */
input.disabled = true;
};
};
return false; /* это пример тестовый - форму не отправляем, а то ничего не увидим */
}
</script>