Foros del Web » Programando para Internet » Javascript »

error: es null o no es un objeto

Estas en el tema de error: es null o no es un objeto en el foro de Javascript en Foros del Web. Este es mi codigo: function Validar(form) { if (form.newreport.value == "") { if (form.selectreport.value == "select") { alert("Please input new report name or select one ...
  #1 (permalink)  
Antiguo 29/11/2002, 20:09
Avatar de GhostRider  
Fecha de Ingreso: julio-2001
Ubicación: en mi propio infierno
Mensajes: 248
Antigüedad: 22 años, 9 meses
Puntos: 0
error: es null o no es un objeto

Este es mi codigo:

function Validar(form)
{
if (form.newreport.value == "") {
if (form.selectreport.value == "select") {
alert("Please input new report name or select one current report"); form.newreport.focus(); return;
}
}

<%
orders_js = 1
if request.querystring("numorders") <> "" then
orders_js = request.querystring("numorders")
end if
for i = 1 to orders_js
%>
if (form.ask<%=i%>.value == "")
{ alert("Please input every asked border ship date field"); form.ask<%=i%>.focus(); return; }

if (form.order<%=i%>.value == "")
{ alert("Please input every order number field"); form.order<%=i%>.focus(); return; }

if (form.manifiest<%=i%>.value == "")
{ alert("Please input every manifiest number field"); form.manifiest<%=i%>.focus(); return; }

if (form.product<%=i%>.value == "")
{ alert("Please input every product description field"); form.product<%=i%>.focus(); return; }

if (form.code<%=i%>.value == "")
{ alert("Please input every product code field"); form.code<%=i%>.focus(); return; }

if (form.qty<%=i%>.value == "")
{ alert("Please input every quantity field"); form.qty<%=i%>.focus(); return; }

if (form.ship<%=i%>.value == "")
{ alert("Please input every ship to field"); form.ship<%=i%>.focus(); return; }

<%next%>

form.submit();
}


Y al hacer click en un boton submit de una forma me manda el error: newreport.value es nulo o no es un objeto!!!!

Shingá, si lo que quiero es saber si es nulo!!!!! claro que es nulo!!!! pero el problema es que además del error si me redirecciona a la siguiente página, donde esta dirigida la forma.

Alguien puede decirme cual es mi error?

en el boton submit pongo

onClick="Validar(this)"

P.D. soy menos que neófito en jscript, asi que tengan consideración
  #2 (permalink)  
Antiguo 29/11/2002, 20:35
Avatar de GhostRider  
Fecha de Ingreso: julio-2001
Ubicación: en mi propio infierno
Mensajes: 248
Antigüedad: 22 años, 9 meses
Puntos: 0
ok, ya lo solucioné, debía poner en el botón Validar(this.form)

Ahora lo que pasa es que me aparece el mensaje de alerta, pero al darle ok, en vez de regresar a la página de la forma, se sigue a la pagina dirigida por el action
  #3 (permalink)  
Antiguo 29/11/2002, 20:37
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
El problema lo tienes en el pase de parámetros, cuando llamas a validar desde un botón, pasándole como parámetro "this", lo que llega como parámetro es un botón. De acuerdo a tu función validar, ella espera un formulario como parámetro.

En conclusión, llama a Validar de esta manera:

Validar(document.nombreDelFormulario)

Saludos.
  #4 (permalink)  
Antiguo 29/11/2002, 20:45
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Bueno, mi respuesta llegó casi simultaneamente con la tuya.

En cuanto a la función, yo preguntaría por el largo de newReport en lugar de compararlo con "". ¿La razón? Por lo general los lenguajes comparan los strings hasta el largo del mas pequeño, por lo tanto todo string es igual que un string vacío. Si preguntas si el largo del string es cero te saltas ese problema.

Saludos.
  #5 (permalink)  
Antiguo 29/11/2002, 20:51
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Perdón, por si acaso:

Código PHP:
function Validar(form){
 if (
form.newreport.value.length == 0){ 
  if (
form.selectreport.value == "select"){
   
alert("Please input new report name or select one current report"); 
   
form.newreport.focus(); 
   return;
  }
 }

... 
Saludos.
  #6 (permalink)  
Antiguo 29/11/2002, 20:53
Avatar de GhostRider  
Fecha de Ingreso: julio-2001
Ubicación: en mi propio infierno
Mensajes: 248
Antigüedad: 22 años, 9 meses
Puntos: 0
gracias kao, ya encontré otro error, y finalmente funcionó:

en la forma tenía el boton type="submit" y debía ser type="button" por eso se seguía a la siguiente página, de cuelquier modo, tomaré en cuenta tu consejo.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:41.