Foros del Web » Programando para Internet » Javascript »

funcion que depende de un alert para continuar??

Estas en el tema de funcion que depende de un alert para continuar?? en el foro de Javascript en Foros del Web. que tal forer@s estoy un tanto confundida ya que me pasa algo raro, ahí les va la explicacion tengo una función que la declaraba dentro ...
  #1 (permalink)  
Antiguo 20/12/2012, 19:56
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
funcion que depende de un alert para continuar??

que tal forer@s

estoy un tanto confundida ya que me pasa algo raro, ahí les va la explicacion

tengo una función que la declaraba dentro del document ready, inicialmente funciona muy bien pero cuando cargo contenido de forma dinámica con ajax, esta funcion deja de se reconocida, incluso cambie el document ready por un function únicamente y se comportaba igual, despues de una investigación, encontré que hay una forma de hacer un rebinding al document ready para que lo "actualice" despues del llamdo ajax y si funciona pero pasa algo raro, acá esta el code:

tengo mi pagina consulta.php:

en el head declaro lo siguiente:
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     iniciarBinds();
  3.     //algunas funciones
  4. });
  5. function iniciarBinds() {
  6.     //alert("hola"); //si le comento este alert ya no llama la funcion despues de la llamada ajax
  7.     $('#collapser').jqcollapse({
  8.         slide: true,
  9.         speed: 200
  10.     });
  11. }
  12. </script>

despues de las declaraciones y esas cosas en mi codigo html hago una llamada a la funcion javascript que carga el contenido dinámico a consulta.php:

Seleccione la fecha:
<input id="con_fecha" name="con_fecha" type="text" size="10" onChange="search_docs()" />

Esta funcion la tengo en mi archivo funciones.js:

Código Javascript:
Ver original
  1. function search_docs(){
  2.         con_fecha = document.getElementById('con_fecha').value;
  3.         //llamada a ajax   
  4.     var ajax;
  5.     ajax= ajaxFunction();
  6.     ajax.open("GET", "consulta_process.php?con_fecha="+con_fecha, true);                   
  7.         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  8.         ajax.onreadystatechange = function() {
  9.             if (ajax.readyState == 4){
  10.                 document.getElementById('capa_en_consulta.php').innerHTML=ajax.responseText;
  11.             }
  12.         }
  13.         ajax.send(null);
  14.     }
  15.     iniciarBinds(); //llamo la funcion para reiniciarla
  16. }

al final como pueden ver llamo la funcion iniciarBinds() misma que tengo declarada en el head de consultas.php:

function iniciarBinds() {
alert("hola");
$('#collapser').jqcollapse({
slide: true,
speed: 200
});
}

y aca esta lo raro si comento el alert, despues de cargar el ajax ya no funciona la funcion jqcollapse, si le dejo el alert me lo muestra y despues reconoce la funcion jqcollapse

es como si el alert obligara a que se tome en cuenta la declaración del jqcollapser al id collapser

o ustedes que creen que este pasando???

gracias

Última edición por catpaw; 20/12/2012 a las 20:08
  #2 (permalink)  
Antiguo 20/12/2012, 20:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: funcion que depende de un alert para continuar??

Lo que está pasando es que tu función iniciarBinds la estás llamando antes de que recibas los datos del servidor.

Muévela dentro del listener al evento onreadystatechange (luego de insertar el contenido al div capa_en_consulta.php)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/12/2012, 08:24
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: funcion que depende de un alert para continuar??

hola david muchas gracias

era una un detalle tal ves simple, pero yo no creo haberlo resuelto sin tu ayuda y gracias a este maravilloso foro :P

Gracias y felices fiestas

Etiquetas: depende, funcion, html, input, js, php, alerta
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 03:00.