Foros del Web » Programando para Internet » Javascript »

variable no funca

Estas en el tema de variable no funca en el foro de Javascript en Foros del Web. por que me da el error: es nulo o no es un objeto en var referencia = document.forms[0].elements[1].value; a l hora de definir un name ...
  #1 (permalink)  
Antiguo 11/06/2003, 03:04
 
Fecha de Ingreso: febrero-2003
Mensajes: 93
Antigüedad: 21 años, 11 meses
Puntos: 0
variable no funca

por que me da el error:
es nulo o no es un objeto en

var referencia = document.forms[0].elements[1].value;

a l hora de definir un name en el formulario,.
tengo que usar este metodo ya que mis campos name usan campo[name], es decir tienen corchetes
  #2 (permalink)  
Antiguo 11/06/2003, 03:23
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 11 meses
Puntos: 772
Hola, RuBiO.

Así, a primera vista no parece que haya ningún error. Podrías poner algo más de código, sobre todo el del formulario, a ver si alguien da con el problema.

Saludos,
  #3 (permalink)  
Antiguo 11/06/2003, 04:50
 
Fecha de Ingreso: febrero-2003
Mensajes: 93
Antigüedad: 21 años, 11 meses
Puntos: 0
Bueno pos hay va:

<SCRIPT LANGUAGE="JavaScript">

var error="";
var referencia = document.forms[0].elements[1].value;
_
function confirmar(){
//si el campo direccion no esta vacio comprueba que los demas tampoco lo estén
if (document.forms[0].elements[4].value.length>0 ){
if ((document.forms[0].elements[5].value.length==0) || (document.forms[0].elements[6].value.length==0)){
alert ("Si introduce la direción tambien debe anotar el CODIGO POSTAL y la POBLACION");
return false;
}

}
var respuesta=confirm("¿Son corectos sus datos?");
if(respuesta) {
if (referencia.length==0){
error +=" - Debe escribir una referencia de pedido\n";
}

if (error!="")
{
alert ("Por favor, corrija los errores: \n" + error);
return (false);
}
pedidos.action = "descripcion.php";
pedidos.submit();
}

}


<form name="pedidos" method="post" action="descripcion.php" onSubmit="return confirmar()">
<table >
<tr>
<td> <div align="right">Referencia de pedido: </div> <td > <input type="text" name="albaran[RefPedido]" maxlength="15" size="40" ></td>
</tr>
<tr>
<tr>
<td>
<div align="center">
<input type="hidden" name="estado" value="PEDIR">
<input type="button" name="volver" value="&lt;&lt; volver" onClick="history.go(-1)">
<input type="button" name="button" value="continuar >>" onClick="confirmar()" >
</div>
</td>
</tr>
</table>
</form>

Bueno pos hay va:

<SCRIPT LANGUAGE="JavaScript">

var error="";
var referencia = document.forms[0].elements[1].value;
_
function confirmar(){
//si el campo direccion no esta vacio comprueba que los demas tampoco lo estén
if (document.forms[0].elements[4].value.length>0 ){
if ((document.forms[0].elements[5].value.length==0) || (document.forms[0].elements[6].value.length==0)){
alert ("Si introduce la direción tambien debe anotar el CODIGO POSTAL y la POBLACION");
return false;
}

}
var respuesta=confirm("¿Son corectos sus datos?");
if(respuesta) {
if (referencia.length==0){
error +=" - Debe escribir una referencia de pedido\n";
}

if (error!="")
{
alert ("Por favor, corrija los errores: \n" + error);
return (false);
}
pedidos.action = "descripcion.php";
pedidos.submit();
}

}


<form name="pedidos" method="post" action="descripcion.php" onSubmit="return confirmar()">
<table >
<tr>
<td> <div align="right">Referencia de pedido: </div> <td > <input type="text" name="albaran[RefPedido]" maxlength="15" size="40" ></td>
</tr>
<tr>
<tr>
<td>
<div align="center">
<input type="hidden" name="estado" value="PEDIR">
<input type="button" name="volver" value="&lt;&lt; volver" onClick="history.go(-1)">
<input type="button" name="button" value="continuar >>" onClick="confirmar()" >
</div>
</td>
</tr>
</table>
</form>
  #4 (permalink)  
Antiguo 11/06/2003, 06:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 11 meses
Puntos: 772
Hola de nuevo.

Parece ser que el error es porque esa línea no está dentro de una función. Si la pones dentro de alguna función no da problemas.

Si, como yo supongo, necesitar inicializar esa variable al principio puedes poner algo así:

<script>
var referencia;
function ini() {
referencia = document.forms[0].elements[1].value;
}
</script>

Y la llamas con:

<body onLoad="ini()">

Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 11/06/2003, 06:24
 
Fecha de Ingreso: febrero-2003
Mensajes: 93
Antigüedad: 21 años, 11 meses
Puntos: 0
Muchas gracias, lo he comprobado y funciona
Como habrás no tado soy nuevo en javascript y me eta volviendo loco todo esto, sobre todo con la compatibilidad de los navegadores.
gracias de nuevo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:37.