Foros del Web » Programando para Internet » Javascript »

Llamada dinamica a un metodo

Estas en el tema de Llamada dinamica a un metodo en el foro de Javascript en Foros del Web. Hola, necesito poer llamar dinamicamente a un metodo. Tengo el nombre del metodo y los parametros que le quiero pasar pero necesito realizar esa llamada. ...
  #1 (permalink)  
Antiguo 07/11/2007, 06:25
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 7 meses
Puntos: 1
Llamada dinamica a un metodo

Hola,

necesito poer llamar dinamicamente a un metodo.

Tengo el nombre del metodo y los parametros que le quiero pasar pero necesito realizar esa llamada.


Por ejemplo:

Código:
function miMetodo(param1,param2){
.......
}

var metodo="miMetodo"
var p1=1;
var p2=2;
teniendo este codigo me gustaria poder llamar al metodo de la variable metodo.

Esto es me gustaria hacer un

metodo(p1,p2);

y que realmente haga

miMetodo(1,2);
  #2 (permalink)  
Antiguo 07/11/2007, 07:34
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Re: Llamada dinamica a un metodo

Fijate si esto te sirve:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
miMetodo(param1,param2){
alert(param1+'--'+param2)
}

</script>
</head>

<body>
<script>
var metodo=miMetodo;
var p1=1;
var p2=2;
metodo.apply(window,[p1,p2])
</script>

</body>
</html> 
o simplemente:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
miMetodo(param1,param2){
alert(param1+'--'+param2)
}

</script>
</head>

<body>
<script>
var metodo=miMetodo;
var p1=1;
var p2=2;
metodo(p1,p2)
</script>

</body>
</html> 

Última edición por Panino5001; 07/11/2007 a las 10:22
  #3 (permalink)  
Antiguo 08/11/2007, 10:00
 
Fecha de Ingreso: septiembre-2004
Mensajes: 191
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: Llamada dinamica a un metodo

Cita:
Iniciado por Panino5001 Ver Mensaje
Fijate si esto te sirve:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
miMetodo(param1,param2){
alert(param1+'--'+param2)
}

</script>
</head>

<body>
<script>
var metodo=miMetodo;
var p1=1;
var p2=2;
metodo.apply(window,[p1,p2])
</script>

</body>
</html> 
o simplemente:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
miMetodo(param1,param2){
alert(param1+'--'+param2)
}

</script>
</head>

<body>
<script>
var metodo=miMetodo;
var p1=1;
var p2=2;
metodo(p1,p2)
</script>

</body>
</html> 
gracias por la contestacion, pero no me vale, ya que solo tengo el nombre de la funcion, no la funcion guardada en un una variable.

yo tendria:

Código:
var metodo="miMetodo";
Código:
que es diferente a
var metodo=miMetodo;
de todos modos ya encontre la solucion:

Código:
var metodo="miMetodo";
window[metodo](p1,p2);

de esta manera si llamo a un metodo que se llama como el contenido de una variable.
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:59.