Foros del Web » Programando para Internet » Jquery »

Eventos global de Ajax no muestra por 2da vez imagen de carga

Estas en el tema de Eventos global de Ajax no muestra por 2da vez imagen de carga en el foro de Jquery en Foros del Web. Saludos comunidad, tengo el siguiente problema, estoy probando como realizar la carga de una imagen cuando se utiliza ajax, en un proceso complejo, pero la ...
  #1 (permalink)  
Antiguo 02/03/2015, 13:43
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años, 7 meses
Puntos: 1
Exclamación Eventos global de Ajax no muestra por 2da vez imagen de carga

Saludos comunidad, tengo el siguiente problema,

estoy probando como realizar la carga de una imagen cuando se utiliza ajax, en un proceso complejo, pero la segunda vez que apreto el boton la imagen ya no se muestra si no se muestra en blanco.

Codigo JQuery:

Código:
<script type="text/javascript">
        $(document).ready(function () {

            //Eventos Globales para Ajax
            $(document).bind("ajaxSend", function () {

                $("#resultado").html($('#carga').show());

            }).bind("ajaxComplete", function () {

                $('#carga').hide();

            });

            $('#btnCarga').click(function () {
                $.ajax({

                    url: 'EfectoCargaAjax2.aspx/DevuelveCadena',

                    data: '{valor:"hola"}',

                    type: 'POST',

                    dataType: 'json',

                    contentType: "application/json; charset=utf-8"

                }).done(function(data){
                    
                    var Valor = data.d;

                    console.log(Valor);

                    $('#resultado').html(Valor);
                }).fail(onError);


            });

            function onError(jqXHR, textStatus) {
                alert(jQuery.parseJSON(jqXHR.responseText).Message);
            }
        });
    </script>
Codigo HTML:

Código:
<form id="form1" action="EfectoCargaAjax2.aspx" method="post">
    <h1>Efecto de Carga 2 Ajax</h1>
    <input type="button" id="btnCarga" value="Carga" />
    <div id="resultado">
        <p>Esperando que cargue la imagen</p>
    </div>
    <div id="carga" class="oculta">
        <p><img src="images/ajax-loader.gif" /></p>
    </div>
    </form>
Codigo CSS:

Código:
.oculta
{
    display:none;
}
Gracias por su tiempo.
  #2 (permalink)  
Antiguo 02/03/2015, 14:43
Avatar de skyz  
Fecha de Ingreso: abril-2010
Mensajes: 170
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Eventos global de Ajax no muestra por 2da vez imagen de carga

Ya lo solucione habia que clonar el elemento img, porque cuando se sobreescribe con hola desaparece del DOM:

Código:
//Eventos Globales para Ajax
            $(document).bind("ajaxSend", function () {

                $copiaimagen = $('#carga').find('p').clone();

                $("#resultado").html($copiaimagen.show());

            }).bind("ajaxComplete", function () {

                $('#resultado').find('p').hide();

            });

Última edición por skyz; 02/03/2015 a las 14:56

Etiquetas: ajax, eventos, global, muestra, vez
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:22.