Foros del Web » Programando para Internet » Javascript »

problema al hacer una referencia a una funcion.

Estas en el tema de problema al hacer una referencia a una funcion. en el foro de Javascript en Foros del Web. trato de llamar a una funcion en javascript en el evento onclick de un boton: Código HTML: <input type= "button" value= "..." name= "grid" onload= ...
  #1 (permalink)  
Antiguo 18/03/2011, 12:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 0
problema al hacer una referencia a una funcion.

trato de llamar a una funcion en javascript en el evento onclick de un boton:

Código HTML:
<input type="button" value="..." name="grid" onload="cargarTabla();"> 
luego en un archivo .js tengo lo siguiente:

Código:
window.onload=function(){
   function cargarTabla(){
       .................
  }
}
pero al hacer esto en firebug me da el siqguiente error: "cargarTabla is not defined".

si pongo la funcion fuera del window.onload si funciona asi:
Código:
function cargarTabla(){
       .................
  }

window.onload=function(){
   }
lo cierto es que necesito(creo que no viene al tema el explicar porque), que esta funcion este dentro del window.onload, necesito que toda la pagina HTML este cargada. ¿se puede hacer lo que necesito?
  #2 (permalink)  
Antiguo 18/03/2011, 12:07
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: problema al hacer una referencia a una funcion.

y que tal si haces:

Código Javascript:
Ver original
  1. function cargarTabla(){
  2.        .................
  3.   }
  4.  
  5. window.onLoad = cargarTabla;
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 18/03/2011, 12:39
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: problema al hacer una referencia a una funcion.

ups!!! disculpa me equivoque en el codigo html, copie y pegue algo que estaba probando.... es este

Código HTML:
<input type="button" value="..." name="grid" onclick="cargarTabla();"> 
(asi no me funciona).
  #4 (permalink)  
Antiguo 18/03/2011, 12:48
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: problema al hacer una referencia a una funcion.

No puedes llamar a una función si no está declarada fuera del evento.

Puedes hacer esto:

Código Javascript:
Ver original
  1. window.onload = cargarTabla;
  2.  
  3. function cargarTabla () {
  4. ................
  5. }

Y en el html:

Código HTML:
Ver original
  1. <input type="button" value="..." name="grid" onclick="cargarTabla();">

O bien...

Código Javascript:
Ver original
  1. window.onload = cargarTabla;
  2. document.getElementById("btCargarTabla").onclick = cargarTabla;
  3.  
  4. function cargarTabla () {
  5. ...............
  6. }

Y en el html:
Código HTML:
Ver original
  1. <input type="button" value="..." name="grid" id="btCargarTabla">
  #5 (permalink)  
Antiguo 18/03/2011, 13:04
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: problema al hacer una referencia a una funcion.

Cita:
Iniciado por Maracanaido Ver Mensaje

Puedes hacer esto:

Código Javascript:
Ver original
  1. window.onload = cargarTabla;
  2.  
  3. function cargarTabla () {
  4. ................
  5. }
¿que diferencia hay entre eso y lo que yo coloque?

Código Javascript:
Ver original
  1. function cargarTabla(){
  2.     .................
  3.   }
  4.  
  5.  
  6. window.onLoad = cargarTabla;

Voy a explicar el error de hacer esto:

Código Javascript:
Ver original
  1. window.onload=function(){
  2.    function cargarTabla(){
  3.        .................
  4.   }
  5. }

Resulta que estas declarando la función cargarTabla dentro de una función anonima, eso quiere decir que el alcance de cargarTabla se restringe solo a esa función anonima.... piensa un poco en POO, claro que javascript no sigue un paradigama orientado a objetos, pero es muy parecido.

En conclusión la función cargaTablas solo puede ser llamada dentro de la función anonima, no se si me hice entender.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #6 (permalink)  
Antiguo 18/03/2011, 13:22
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: problema al hacer una referencia a una funcion.

Cita:
Iniciado por laratik Ver Mensaje
¿que diferencia hay entre eso y lo que yo coloque?
Ninguna, por eso le contesto al creador del tema que parece que no se ha enterado y no a ti.
  #7 (permalink)  
Antiguo 18/03/2011, 13:26
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 11 meses
Puntos: 63
Respuesta: problema al hacer una referencia a una funcion.

Cita:
Iniciado por Maracanaido Ver Mensaje
Ninguna, por eso le contesto al creador del tema que parece que no se ha enterado y no a ti.
No hay problema , es más creo que si hay diferencia, es más eficiente que primero escribas la función y luego la llames (tal vez sea un purista, pero empece a programar con C++).
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #8 (permalink)  
Antiguo 18/03/2011, 13:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 32
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: problema al hacer una referencia a una funcion.

gracias por sus respuestas problema solucionado!!!

Etiquetas: funcion, referencia
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 22:44.