Foros del Web » Programando para Internet » Javascript »

Problema de compatibilidad con JavaScript

Estas en el tema de Problema de compatibilidad con JavaScript en el foro de Javascript en Foros del Web. Hola que tal señores, tengo un problema con un código de JavaScript que tengo que usar para una web, con IE va de fábula, pero ...
  #1 (permalink)  
Antiguo 24/07/2006, 03:39
 
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 17 años, 9 meses
Puntos: 0
Problema de compatibilidad con JavaScript

Hola que tal señores, tengo un problema con un código de JavaScript que tengo que usar para una web, con IE va de fábula, pero cuando cargo la página con el Mozilla no hace nada, y pulsando en herramientas, y luego en Consola JavaScript, me comenta que el error el javaScript es por no haber declarado un nombre, el cual es el nombre de un campito tipo "hidden" los cuales yo en mi vida he declarado, y he consultado como un loco y no hay información al respecto de que eso se tenga que declarar.

El código esta en archivo aparte e integrado en php, pero para que resulte más fácil para ustedes que me den la solución, si la hay. lo he puesto en un archivo html, que básicamente hace la misma función que yo quiero, es más en este código más sencillo tambien da el mismo error.

Es el que pongo a continuación:

<html>
<head>
<title>Banner</title>
<script LANGUAGE="JavaScript">
var x=0;
var y;
var imagenes= new Array();
imagenes[0]="barra0.gif";
imagenes[1]="barra1.gif";
imagenes[2]="barra2.gif";
imagenes[3]="barra3.gif";
imagenes[4]="barra4.gif";
imagenes[5]="barra5.gif";

function pera()
{

if (cantidad.value == 0)
{
x=0;
}

if (cantidad.value >=1)
{
x=1;
}

if (cantidad.value >=3)
{
x=2;
}

if (cantidad.value >=5)
{
x=3;
}

if (cantidad.value >=7)
{
x=4;
}

if (cantidad.value >=9)
{
x=5;
}

imagen.src=imagenes[x];
alert(cantidad.value);

}
</script>
</head>

<body>
<table>
<tr><td><img src="barra0.gif" name="imagen"></td></tr>
<tr><td><input type="text" name="cantidad" value="0"></td></tr>
<tr><td><input type="button" value="Aceptar" OnClick="pera()"></td></tr>
</table>
</body>
</html>

las imagenes del array obviamente no las pongo, pero remplazando esas por cualquier otras que tengais, vereis el problema.

Un cordial saludo y espero que me pueda ayudar alguién.
  #2 (permalink)  
Antiguo 24/07/2006, 05:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Qué tal

El acceso al elemento está incompleto. Cambia donde dice cantidad por document.getElementById('cantidad') y al campo cantidad agrégale un id="cantidad"

un saludo
  #3 (permalink)  
Antiguo 24/07/2006, 06:09
 
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 17 años, 9 meses
Puntos: 0
Gracias Tunait, eso ya la habia probado, je je, pero no me acorde de poner el id al campito, que fallo por mi parte, pero cuando te trabas por mucho que te pongas a mirar, je je, es que lo veo ahora y me parto. MUCHAS GRACIAS!!!!!!!

Ya lo dice el dicho, 2 cabezas mejor que 1. jeje

Ya hice las modificaciones pertienentes en las páginas originales, y además tambien tuve que hacer lo mismo con el elemento imagen.

Ah!! por cierto, tambien para evitar el error se podia haber echo con la etiqueta form con un nombre por ejemplo "productos, es decir, así:

<html>

<body>
<script LANGUAGE="JavaScript">
var x=0;
var imagenes= new Array();
imagenes[0]="barra0.gif";
imagenes[1]="barra1.gif";
imagenes[2]="barra2.gif";
imagenes[3]="barra3.gif";
imagenes[4]="barra4.gif";
imagenes[5]="barra5.gif";

function pera()
{

if (productos.cantidad.value == 0)
{
x=0;
}

if (productos.cantidad.value >=1)
{
x=1;
}

if (productos.cantidad.value >=3)
{
x=2;
}

if (productos.cantidad.value >=5)
{
x=3;
}

if (productos.cantidasd.value >=7)
{
x=4;
}

if (productos.cantdad.value >=9)
{
x=5;
}

productos.imagen.src=imagenes[x];
alert(productos.cantiproductosd.value);

}
</script>
</head>
<form name="productos">
<table>
<tr><td><img src="barra0.gif" name="imagen"></td></tr>
<tr><td><input type="text" name="cantidad" value=0></td></tr>
<tr><td><input type="button" value="Aceptar" OnClick="pera()"></td></tr>
</table>
</form>
</body>
</html>

Pero, eso solo sirve para este ejemplo o este codigó html, porque luego al llevarlo a la practica, en mis páginas php, no funionaba.

Aún así, es mejor tú solución, por eso denuevo GRACIAS TUNAIT!!!!!!!!!!
  #4 (permalink)  
Antiguo 24/07/2006, 06:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por Uberman
pero no me acorde de poner el id al campito, que fallo por mi parte, pero cuando te trabas por mucho que te pongas a mirar, je je, es que lo veo ahora y me parto.
Jé, suele pasar y luego cuando uno se da cuenta o te partes o te quieres pegar un tiro

Cita:
Iniciado por Uberman
Ah!! por cierto, tambien para evitar el error se podia haber echo con la etiqueta form con un nombre por ejemplo "productos"
Efectivamente esa hubiera otra alternativa, aunque fíjate que también habrías tenido problemas de compatibilidad seguramente si hubieras puesto el acceso al elemento como sugieres

productos.cantidad.value

Hubiera faltado hacer referencia al objeto document

document.productos.cantidad.value

IE es más tolerante pero otros navegadores necesitan recorrer el arbol del documento como poco desde el objeto document

Cita:
Iniciado por Uberman
denuevo GRACIAS TUNAIT!!!!!!!!!!
De nadas me alegra que lo solucionaras.

Un saludo
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 23:22.