Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Evento Ajax y Javascript en un mismo Onclick.

Estas en el tema de Evento Ajax y Javascript en un mismo Onclick. en el foro de Frameworks JS en Foros del Web. Hola a todos, este es mi primer post en este foro, y es que es ahora cuando estoy empezando con esto de hacer webs, con ...
  #1 (permalink)  
Antiguo 24/02/2010, 13:43
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Evento Ajax y Javascript en un mismo Onclick.

Hola a todos, este es mi primer post en este foro, y es que es ahora cuando estoy empezando con esto de hacer webs, con mis correspondientes dudas de novato, y claro, por fuerza he tenido que venir a parar a forosdelweb.

Mi problema actual es que no consigo que funcione un onclick que llama a dos funciones, una en Ajax -loadImg()- y la otra a una función Javascript -moveFork()- que ejecuta un switch con instrucciones en jQuery.
La de Ajax sí que funciona, es la segunda función la que no consigo que funcione.

Os pongo el código:

El html del archivo principal con el onclick:

Código:
<li><a href="#" onclick="loadImg('1'); moveFork('1');">link1</a></li>
<li><a href="#" onclick="loadImg('2'); moveFork('2');">link2</a></li>
<li><a href="#" onclick="loadImg('3'); moveFork('3');">link3</a></li>
La función que tira de Ajax, sí que funciona, pero la pongo por acaso:

Código:
function loadImg(id){
        var div = document.getElementById('capa1');
	ajax=nuevoAjax();
	ajax.open("GET", "includes/unArchivoPHP.php?img="+id);
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			div.innerHTML=ajax.responseText;
		}
	}
	ajax.send(null);
};
Y el código javascript:

Código:
$(document).ready(function (){
  $("#elementoaMover").fadeTo(10, 0, function(){
       $("#elementoaMover").css("visibility", "visible");		
       $("#elementoaMover").css({top:'90px', left:'720px'});
    });
    function moveFork(nR){
	$("#elementoaMover").fadeTo(500, 1.0);			
	switch(nR){
	  case "1":
		$("#elementoaMover").animate({top:'210px',left:'620px'},500);
	  break;
	  case "2":
		$("#elementoaMover").animate({top:'245px',left:'630px'},500);
	  break;
	  case "3":
		$("#elementoaMover").animate({top:'280px',left:'640px'},500);
	  break;
         };
    };
});
La función moveFork es la que no consigo que funcione, supongo que será algún error tipográfico, ya os digo que soy bastante novato en estas lides.

Apuntar que el script con la función inical de Ajax está en el mismo archivo principal index.php y el código javascript está en un archivo externo linkado desde el head de éste, por si esto tuviera algo que ver.

Gracias de antemano por vuestra ayuda, aunque este sea mi primer post, ya hace algún tiempo que me está ayudando este foro en muchas dudas que he tenido.

Un saludo.

Última edición por juCaLaguna; 24/02/2010 a las 13:50
  #2 (permalink)  
Antiguo 24/02/2010, 15:50
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Evento Ajax y Javascript en un mismo Onclick.

Porque no intentas esto

Código:
function JuntaFunctions(param1,param2){
      loadImg(param1); 
      moveFork(param2);
      return false;
}
Se me olvido el llamado, seria lago como

Código:
<li><a href="#" onclick="JuntaFunctions(1,1)">link1</a></li>
Saludos....
  #3 (permalink)  
Antiguo 24/02/2010, 16:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Evento Ajax y Javascript en un mismo Onclick.

Hola:

Posibilidades: algún error... veo que no usas el tercer parámetro de la llamada Ajax... no sé si se admitirá bien...

Posible uso de 2 librerías... como son tan bien hechas, todas usan las mismas funciones y variables, y no suelen ser compatibles al 100%...

Una cosa que no me gusta es que llamas al script con un enlace... si solo quieres llamar a una función, puedes usar cualquier tag... el sentido semántico del tag "a" es enlazar, el evento click lo puedes programar desde cualquier otro tag.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 25/02/2010, 18:30
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Evento Ajax y Javascript en un mismo Onclick.

Cita:
Iniciado por Un_Tico Ver Mensaje
Porque no intentas esto

Código:
function JuntaFunctions(param1,param2){
      loadImg(param1); 
      moveFork(param2);
      return false;
}
Se me olvido el llamado, seria lago como

Código:
<li><a href="#" onclick="JuntaFunctions(1,1)">link1</a></li>
Saludos....
Gracias por tu aportación, no me ha funcionado, pero me parece de lo más interesante. Me lo apunto para utilizar en un futuro .


Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Posibilidades: algún error... veo que no usas el tercer parámetro de la llamada Ajax... no sé si se admitirá bien...

Posible uso de 2 librerías... como son tan bien hechas, todas usan las mismas funciones y variables, y no suelen ser compatibles al 100%...

Una cosa que no me gusta es que llamas al script con un enlace... si solo quieres llamar a una función, puedes usar cualquier tag... el sentido semántico del tag "a" es enlazar, el evento click lo puedes programar desde cualquier otro tag.

Saludos

Ejem... ¿Cuál o qué es el tercer parámetro? He echado un vistazo rápido en Google pero todavía no tengo claro a qué te refieres.

Si mi script no funciona por un problema de incompatibilidad entre Ajax y jQuery, entonces nunca funcionará con el planteamiento actual... ¿me equivoco?

Lo de los anchors ya está resuelto, gracias por el consejo, desde ya mismo lo tendré en cuenta siempre. No sé exactamente porque lo hacía así, supongo que por inercia pura y dura...



Os pediría que estudiárais detenidamente el código, sigo pensando que hay algún error tipográfico o de planteamiento del script que provoca el fallo.

La consola de Firebug me dice: - moveFork is not defined -

Gracias de antemano por vuestra colaboración.


Saludos.

Etiquetas: ajax, funcines, javascript, jquery, onclick
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 08:07.