Foros del Web » Programando para Internet » Jquery »

Ejecutar funcion jquery despues de ajax

Estas en el tema de Ejecutar funcion jquery despues de ajax en el foro de Jquery en Foros del Web. Buenas tardes de nuevo yo xD buenas la cuestion en primera es dejar seleccionado el elemento del menu de acuerdo a la seccion en dodne ...
  #1 (permalink)  
Antiguo 06/04/2013, 14:40
 
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Ejecutar funcion jquery despues de ajax

Buenas tardes de nuevo yo xD buenas la cuestion en primera es dejar seleccionado el elemento del menu de acuerdo a la seccion en dodne este pero al cargar contenido ajax

miren tengo el menu

Código PHP:
<ul id="menu">
             <
li><a href="javascript:Enviar('contenido_index.php','carga_contenido')" id="index_h">Inicio</a></li>
             <
li><a href="javascript:Enviar('servicios.php','carga_contenido')" id="servicios_h">Servicios</a></li>
             <
li><a href="javascript:Enviar('video.php','carga_contenido')" id="herramientas_h">Herramientas</a></li>
             <
li><a href="javascript:Enviar('cobertura.php','carga_contenido')" id="cobertura_h">Cobertura</a></li>
             <
li><a href="javascript:Enviar('atencion.php','carga_contenido')" id="atencion_h">Atenci&oacute;n al Cliente</a></li>
         </
ul

luego tengo la funcion que segun hace esto lo tengo de dos formas posibles una la tenia mas sencilla que me funcionaba antes de hacer la carga de ajax

FORMA 1

Código PHP:
function Enviar(_pagina,capa) {
    var 
ajax;
    
ajax ajaxFunction();
    
ajax.open("POST"_paginatrue);
    
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded");

    
ajax.onreadystatechange = function() {
        if (
ajax.readyState==1){
            
document.getElementById(capa).innerHTML loaderGif;
                 }
        if (
ajax.readyState == 4) {
            function 
active_menu_option(num){
                $(
"#menu a").eqnum 1).addClass('activo_h');
            }
                
document.getElementById(capa).innerHTML=ajax.responseText
             }} 
    
ajax.send(null);

Y luego en el contenido de la pagina de ajax esta la funcion

Código PHP:
objetoAjax.responseText;
active_menu_option(1); 
bueno esa es una pero tambien tenia de esta forma

FORMA 2

Código PHP:
function Enviar(_pagina,capa) {
    var 
ajax;
    
ajax ajaxFunction();
    
ajax.open("POST"_paginatrue);
    
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded");

    
ajax.onreadystatechange = function() {
        if (
ajax.readyState==1){
            
document.getElementById(capa).innerHTML loaderGif;
                 }
        if (
ajax.readyState == 4) {
                
document.getElementById(capa).innerHTML=ajax.responseText
             }} 
    
ajax.send(null);


y en el contenido cargado esto

Código PHP:
objetoAjax.responseText;
$(
"#index_h").addClass("activo_h"); 

el css de las clases es este

Código PHP:
.activo_h{
    
background:#000;

Eso es todo ninguna de las dos formas me funciona, se que el tenma tiene algo que ver con ejecutar javascript o jquery despues de carga ajax pero no me ha servido ninguna de las cosas que he encontrado, de antemano gracias :D
  #2 (permalink)  
Antiguo 06/04/2013, 17:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ejecutar funcion jquery despues de ajax

Usa jQuery.ajax() para realizar la petición.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/04/2013, 10:43
 
Fecha de Ingreso: agosto-2012
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ejecutar funcion jquery despues de ajax

Estoy buscando ejemplos por que los que tienen de esa funcion pues la verdad no me ayudan en casi nada, ando viendo otra forma de hacerlo xD
  #4 (permalink)  
Antiguo 10/04/2013, 12:42
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 11 años, 10 meses
Puntos: 6
Sonrisa Respuesta: Ejecutar funcion jquery despues de ajax

es preferible usar $.ajax() te pongo un ejemplo que hice para un proyecto que estoy haciendo justo ahora, para que veas como se hace...

Código HTML:
//Cuando en la capaa #Editar se precione el boton #Editarm se ejecuta esta funcion
$("#Editar").delegate("#Editarm", "click", function(e){ 
	//Se llama a la funcion $.ajax()
		$.ajax({
			//tipo de peticion:post o get.
			type:"post",
			//hacia qué pagina va a enviar la data
			url: "verificarUsuario.php",
			/*Se declaran las variables y el valor, donde idm es la variable que pasa por POST y 
			$("#Idm").val() es la referencia al valor del id del input
			y asi con todos los parametros que quieras pasar*/
			data:{  idm : $("#Idm").val(),
					descripcionm : $("#Descripcionm").val(),
					atribucionm : ($("#Atribucionm").val()=='ninguno'?0:$("#Atribucionm").val()),
					nominam : ($("#Nominam").is(':checked')?1:""),
					finesSemanam : ($("#FinesSemanam").is(':checked')?1:""), 
					idAnterior: $("#IdAnterior").val()
					},
			/*El succes te comprueba si la petición ajax se realizó con éxito
			datos es quien contiene los datos devueltos por el documento del lado del servidor
			en este caso lo puedes recibir enviar y recibir con un formato json.*/
			success: function(datos, textStatus, jqXHR ){
						//datos = {"resultado":"1"};  
						// y aqui operas como quieras
							if (datos==1){
								alert("Usuario existe");
								
							}else{
								alert("Usuario no existe");
							}						
						},
			/*El error te indica que la peticion ajax falló, y hay algún error
			addons como Firebug de pueden dar información detallada en caso de error*/
			error: function(datos, textStatus, jqXHR ){  
						alert("error al procesar la petición: " + datos);
						}
		});
		/*Est preventDefault() es necesario cuando se hace una llamada ajax desde un boton, 
		si este ajax forma parte de otra funcion
		no hace falta usaro*/
		e.preventDefault();
	});
Y así lo puedes usar para lo que quieras... es mejor ;) espero haberte ayudado ;)

Última edición por MagoMarlon; 10/04/2013 a las 12:42 Razón: me falto informacion

Etiquetas: ajax, funcion, html, javascript, php
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 14:57.