На первый взгляд проблема возникает на линии
document.getElementById ( "родитель"). Значение
Вы действительно должны использовать var parent
здесь, чтобы явно объявить его как локальную переменную.
В любом случае, у вас есть много кода, который можно проверить и рефакторизовать + у вас вообще нет обработки исключений ...
Этот блок повторяется 8 раз ... для каждой переменной ...
if (age == "") {
hideAllErrors();
document.getElementById("ageError").style.display = "inline";
document.getElementById("age").select();
document.getElementById("age").focus();
return (false);
}
Это можно легко сделать
if(age == "") {
DoMyFunction("age", "ageError");
}
...
function DoMyFunction(a, b)
{
hideAllErrors();
document.getElementById(b).style.display = "inline";
document.getElementById(a).select();
document.getElementById(a).focus();
return (false);
}
И где угодно, у вас есть значение document.getElementById ("").
Вы действительно должны сделать здесь проверку, чтобы убедиться, что getElementById не возвращает ноль.
var name = "";
var nametemp = document.getElementById("name");
if (nametemp != null)
name = nametemp.value;