error al momento de ejecutar un JS

Junior Gabriel
01 de Junio del 2004
A ver si alguien me puede ayudar, tengo un prolema cuando ejecuto un archivo de Validacion de nombres me marca el siguiente error
Error:'nombre.value' is null or not an object.
estube investigando y al parecer dice que tengo 2 Id en un HTML o algo asi, me podrian ayudar. aqui les paso el codigo del Archivo .js

function validanom(Contratos){
if (Contratos.nombre.value.length < 2){
alert("Escriba por lo menos 3 caracteres en el campo "Nombre".");
Contratos.nombre.focus();
return (false);
}
var checknombreOK = "ABCDEFGHIJKLMN脩OPQRSTUVWXYZ脕脡脥脫脷" + "abcdefghijklmn帽opqrstuvwxyz谩茅铆贸煤 ";
var checknombreStr = Contratos.nombre.value;
var allValidnombre = true;
for (i = 0; i < checknombreStr.length; i++)
{
ch = checknombreStr.charAt(i);
for (j = 0; j < checknombreOK.length; j++)
if (ch == checknombreOK.charAt(j))
break;
if (j == checknombreOK.length)
{
allValidnombre = false;
break;
}
}
if (!allValidnombre) {
alert("Escriba s贸lo letras en el campo "Nombre".");
Contratos.nombre.focus();
return (false);
}
}

scriptman
01 de Junio del 2004
Antes, para referenciar al valor de un Campo de un formulario, en IE por ejemplo, bastaba con poner idDelElemento.value, actualmente necesitas hacerlo de la forma correcta: la forma antigua, soportada por los navegadores viejitos (4.x) y nuevos seria:
document.NombreDelForm.NombreDelCampo.value;

o bien la "nueva" forma (DOM), soportada por los navegadores de un par de a帽os para aca:
document.getElementById("idDelCampo").value;

En tu ejemplo pones solo
Contratos.nombre.value.length

agrega "document." antes... (supongo que Contratos es el nombre del FORM)

Saludos, scriptman.
.::Apoya el software libre::.