Foros del Web » Programando para Internet » Javascript »

Echar un ojo al código

Estas en el tema de Echar un ojo al código en el foro de Javascript en Foros del Web. var i,j,ratonx=5,ratony=5,maxy=9,maxx=9,pt1,pt2; function dibujar_escenario() { document.write("<center><table width='500px' height='500px' border='1'>"); for(i=0;i<10;i++) { document.write("<tr>"); for(j=0;j<10;j++) { if(ratonx==j && ratony==i) { document.write("<td bgcolor='#FF00FF'>&nbsp;</td>"); } else { document.write("<td>&nbsp;</td>"); } ...
  #1 (permalink)  
Antiguo 18/06/2003, 05:35
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 11 meses
Puntos: 1
Echar un ojo al código

var i,j,ratonx=5,ratony=5,maxy=9,maxx=9,pt1,pt2;
function dibujar_escenario()
{
document.write("<center><table width='500px' height='500px' border='1'>");
for(i=0;i<10;i++)
{
document.write("<tr>");
for(j=0;j<10;j++)
{
if(ratonx==j && ratony==i)
{
document.write("<td bgcolor='#FF00FF'>&nbsp;</td>");
}
else
{
document.write("<td>&nbsp;</td>");
}
}
document.write("</tr>");
}
document.write("</table>");
document.write("<br><br>");
document.write("<input name='Generar' type='button' value='Generar Movimiento' onClick=JavaScript:generar_movimiento();>");
document.write("</center>");
}
function generar_movimiento()
{
alert("mov");
}
</script>


Tengo este código y lo que me funciona mal es que en la llamada que hago en el botón "Generar", llamo a una función dentro de la misma página y el error es el típico "se esperaba un objeto". Alguien podría decirme a qué se debe.
__________________
Code
  #2 (permalink)  
Antiguo 18/06/2003, 05:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Saca de la función generar escenario todo lo que contiene. Así funcionará. Si es necesario que esté cambia el document.write por innerHTML+=

Como yo digo quedaría así:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>

<body>
<script>
var i,j,ratonx=5,ratony=5,maxy=9,maxx=9,pt1,pt2;

document.write("<center><table width='500px' height='500px' border='1'>");
for(i=0;i<10;i++)
{
document.write("<tr>");
for(j=0;j<10;j++)
{
if(ratonx==j && ratony==i)
{
document.write("<td bgcolor='#FF00FF'> </td>");
}
else
{
document.write("<td> </td>");
}
}
document.write("</tr>");
}
document.write("</table>");
document.write("<br><br>");
document.write("<input name='Generar' type='button' value='Generar Movimiento' onClick=JavaScript:generar_movimiento();>");
document.write("</center>");

function generar_movimiento()
{
alert("mov");
}
</script>




</body>
</html>

Un saludo
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 18/06/2003, 05:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola, Code.

Mirando el código un poco por encima, veo que pones:
Código:
onClick=JavaScript:generar_movimiento();>");
y deberías poner:
Código:
onClick='generar_movimiento()'>");
Espero que con esto te funciones. Saludos,

*** Unos segundos de ganímedes más tarde ***

Este KarlanKas me ha abducido el mensaje por muy poco.

Saludos o tres,
  #4 (permalink)  
Antiguo 18/06/2003, 06:15
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 11 meses
Puntos: 1
JavierB, las comillas creo que no son totalmente necesarias porque me han funcionado muchas cosas, pruébalo, ya verás.

Karlankas, intentaré usar el innerHTML aunque nunca lo he usado. La función es necesaria porque quiero que la tabla se vaya refrescando (que se borre y vuelva a escribirse)
Asi se puede hacer no????
__________________
Code
  #5 (permalink)  
Antiguo 18/06/2003, 06:19
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
Buenaass
Cita:
JavierB, las comillas creo que no son totalmente necesarias porque me han funcionado muchas cosas, pruébalo, ya verás.
Tan sólo un apunte:

Digamos que algunos navegadores (explorer especialmente) son algo permisivos ante la omisión de comillas. Eso no quiere decir que sea correcto el omitirlas.

Te puedes encontrar con que algunos navegadores se nieguen a ser tolerantes y no trabajen sin comillas.

  #6 (permalink)  
Antiguo 18/06/2003, 06:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Cita:
Mensaje Original por Code
JavierB, las comillas creo que no son totalmente necesarias porque me han funcionado muchas cosas, pruébalo, ya verás.
Pues es verdad. Yo siempre lo escribo con comillas y no pensaba que se pudiera hacer de otra forma. Funciona en IE 6 y NS 6.2 aunque puede que en navegadores mas antiguos ocurra la que dice tunait (ella se equivoca pocas veces)

Saludos,
  #7 (permalink)  
Antiguo 18/06/2003, 06:29
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 11 meses
Puntos: 1
Gracias por la nueva aclaración.
Es algo realmente importante el saberlo.
Tunait muchas gracias.
__________________
Code
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 16:29.