Foros del Web » Programando para Internet » Javascript »

Combinar 2 funciones en un solo link?

Estas en el tema de Combinar 2 funciones en un solo link? en el foro de Javascript en Foros del Web. Hola amigos, tengo 1 funcion que funciona perfecto, pero posteriormente deseo llamar a otra funcion desde el mismo enlace de la primera funcion, pero nose ...
  #1 (permalink)  
Antiguo 30/01/2009, 23:20
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Combinar 2 funciones en un solo link?

Hola amigos, tengo 1 funcion que funciona perfecto, pero posteriormente deseo llamar a otra funcion desde el mismo enlace de la primera funcion, pero nose como hacer... alguna ayuda?

FUNCION 1:

Código:
<script language="JavaScript">
// Limita los caracteres a introducir en un TextArea 
function limite(que,cuanto)
{
var pat=/\[.*?\]/g;
var v, v2;
v2=v=que.value;
v2=v2.replace(pat,'');
if(v2.length>cuanto)
  que.value=v.substring(0,cuanto)
else
  document.reduce.cont.value=cuanto-v2.length
}
</script>
FUNCION 2:

Código:
<script type="text/javascript"> 
// Esconde/desactiva el link al darle click 
function disablelink(url) { 
document.write("<style type='text/css'>.dislink {display:none;}</style>"); 
location.href = url; 
} 
</script>
Enlace para la FUNCION1, funciona perfecto:

<a href="#" title="imagen" value="set focus" onclick="document.reduce.mensaje.focus();">
<img onclick="document.reduce.mensaje.value+='[nombre]'" src="http://www.forosdelweb.com/site/images/btn_nombre.gif" border="0" alt="imagen" width="58" height="20" /></a>


A esta imagen que llama a la FUNCION 1, quiero añadir que tambien llame a la FUNCION 2 al mismo tiempo.... osea que al hacer clic se llamen a las 2 funciones a la vez y que cada una haga su trabajo.

Las dos funciones por separado funcionan bien, el problema es q nose como unir las dos.

Enlace para la FUNCION2, funciona perfecto:

<a href="javascript:disablelink('http://www.google.com');" class="dislink"><img border=0 src=../images/ico_exclamation.gif width=50 height=48></a>

Agradezco alguna ayuda. gracias
  #2 (permalink)  
Antiguo 31/01/2009, 07:32
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Combinar 2 funciones en un solo link?

Separando con un punto y coma ; las dos funciones:

Código:
<a title="imagen" value="set focus" onclick="document.reduce.mensaje.focus();document.reduce.mensaje.value+='[nombre]';disablelink('http://www.google.com');">
<img src="http://www.forosdelweb.com/site/images/btn_nombre.gif" border="0" alt="imagen" width="58" height="20" /></a>
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 31/01/2009, 11:42
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 19 años
Puntos: 45
Respuesta: Combinar 2 funciones en un solo link?

La solución de la respuesta anterior trae muchos problemas. Mejor prueba añadiendo el atributo onclick.

Código:
<a href="primerafuncion()" onclick="segundafuncion()">
  #4 (permalink)  
Antiguo 31/01/2009, 11:52
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Combinar 2 funciones en un solo link?

Los problemas que trae es que si la primera función está mal escrita o es errónea (devuelve errores), la segunda no corre.

Si las funciones son correctas, no debería dar problemas. Me ha pasado muchas veces.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 31/01/2009, 15:14
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
De acuerdo Respuesta: Combinar 2 funciones en un solo link?

Si deseas trabajar mas profesionalmente y entrar en el ámbito de javascript no intrusivo puedes intentar con functiones en funciones:

Digamos:

1. Primer caso(Titulo: 2 en uno/No muy profesional, muy mala presentacion)
Código:
<script>
function A(){}
function B(){}
</script
<body>
<a href="#" onclick=(A()&B())>Click here</a>
</body>
2. Segundo caso(Titulo:función como parámetro/Mas o menos, presentación regular).
Código:
<script language="javascript">
//<![CDATA[
function mifuncion(param){
alert(param);
}
function A(){
return 'hola';
}
//]]>
</script>

<body>
<a href="#" onclick="mifuncion(A())">Click here</a>
</body>
3. Tercer caso(Titulo: funcion interna/ algo de forma)
Código:
function mifuncion(){
function A(){}
fucntion B(){}
//llamar a A desde adentro
A();
//llamar a B
A();
}
4. Cuarto caso(Titulo: funcion interna II/Mejor presentacion)
Puedes extender esto de la siguiente manera:

Código:
function mifuncion(){
function A(){
alert("hola");
}
}
//invocar
mifuncion.A(){}
5. El quinto caso(Titulo: POO+Literal/Excelente).
Realmente muchos colegas errados le llaman uso de clases, NO! en javascript no existe eso. Se les conoce como Prototipos(POR ELLO existe Prototype(La mejor Liberia AJAX).

Código:
var calculadora = {
 operaciones:function(algo,parametros){
   dato:'',
   this.parametros={
   primero:'0',
   segundo:'0',
   operador:'+'
   };
  this.parametros = parametros;
 }
}
//Instanciar la clase
var objetoinstant = new calculadora.operaciones('dato',
{...}
);
Existen 3 formas mas, pero con esto podrás defenderte...ademas de otorgarle potencia a tu aplicación.

Creo, y espero haberte ayudado... no las he probado, pero la lógica debería funcionar.

Un saludo,
  #6 (permalink)  
Antiguo 31/01/2009, 16:44
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 19 años
Puntos: 45
Respuesta: Combinar 2 funciones en un solo link?

Te voy a indicar una forma simple y lógica para solucionar el problema. La anterior es demasiado extensa.

Mete dentro de una misma función dos funciones distintas. Por ej:

Código:
<script>
function funcionunica(){
funcion1 con variable;
funcion2
}
</script>

Así de simple, sin comerse mucho la cabeza. Aunque no tenga nada que ver puedes declarar una variable al lado de otra y ejecutar funciones, una al lado de otra.

Funcion1;
Funcion2;
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 07:14.