Foros del Web » Programando para Internet » Javascript »

calendar.js no funciona dentro de ajax

Estas en el tema de calendar.js no funciona dentro de ajax en el foro de Javascript en Foros del Web. Hola a todos! En mi pagina principal cargo con ajax un formulario con un input que posee un calendario hecho en js y css muy ...
  #1 (permalink)  
Antiguo 29/04/2009, 14:20
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
calendar.js no funciona dentro de ajax

Hola a todos!
En mi pagina principal cargo con ajax un formulario con un input que posee un calendario hecho en js y css muy elegante (de seguro alguna vez lo usaron).
El problema es que no funciona por el hecho de que su codigo no se ejecuta al volver desde ajax. Eso lo tengo claro.
Código PHP:
<script type="text/javascript">                    
Calendar.setup({
    
inputField  :    "orden_fecha",    
    
ifFormat    :    "%d-%m-%Y",
    
button      :    "orden_fecha",
    
align         :    "Bl",
    
singleClick :    true
});
</script> 
Este codigo es el que crea el calendario.
Con el evento onclick llamé a una funcion que ejecuta ese codigo y lo crea pero para ello 1º debo hacer click para hacer la llamada y luego volver a hacer click dentro del input para crear el calendario.

Buscando por internet no halle solucion, espero puedan ayudarme.
  #2 (permalink)  
Antiguo 24/01/2011, 21:22
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: calendar.js no funciona dentro de ajax

pon todo el los script del calendario en tu hoja padre:

<script type='text/javascript' src='script/js/calendar.js'></script>
<script type='text/javascript' src='script/js/calendar-es.js'></script>
<script type='text/javascript' src='script/js/calendar-setup.js'></script>

y dentro de tu funcion de ajax en la hoja padre pones el codigo del calendar.setup.

ejemplo: (yo cambie los campos del calendar.setup)

Nombre_funcion(str){loadXMLDoc('Pagina_a_cargar.ph p?q='+str,function(){if(xmlhttp.readyState==4&&xml http.status==200){document.getElementById('Div_a_c argar').innerHTML=xmlhttp.responseText;Calendar.se tup({
inputField: 'fecha1',
ifFormat: '%d/%m/%Y',
weekNumbers: false,
displayArea: 'fecha_usuario',
daFormat: '%d/%m/%Y'
});}else{document.getElementById('Div_a_cargar').i nnerHTML='<img src=../img/ajax_loading.gif id=load_img /> ';}});} </script>
  #3 (permalink)  
Antiguo 25/01/2011, 10:33
 
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 0
Respuesta: calendar.js no funciona dentro de ajax

hola yo tuve ese mismo problema intente de todo y no funciono...
aca en el foro me recomedaron cambair el calendario por este:
http://jqueryui.com/

es muy bueno, y con ese solucione todo, realmente no supe porq el otro depues de usar ajax ya no funcionaba

espero q te sirva
  #4 (permalink)  
Antiguo 25/01/2011, 19:53
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: calendar.js no funciona dentro de ajax

<script type='text/javascript' src='script/js/calendar.js'></script>
<script type='text/javascript' src='script/js/calendar-es.js'></script>
<script type='text/javascript' src='script/js/calendar-setup.js'></script>

y dentro de tu funcion de ajax en la hoja padre pones el codigo del calendar.setup.

ejemplo: (yo cambie los campos del calendar.setup)
<script>
function loadXMLDoc(url,cfunc){if(window.XMLHttpRequest)xml http=new XMLHttpRequest;else xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');xmlhttp.onready statechange=cfunc;xmlhttp.open('GET',url,true);xml http.send()}
Nombre_funcion(str){loadXMLDoc('Pagina_a_cargar.ph p?q='+str,function(){if(xmlhttp.readyState==4&&xml http.status==200){document.getElementById('Div_a_c argar').innerHTML=xmlhttp.responseText;Calendar.se tup({
inputField: 'fecha1',
ifFormat: '%d/%m/%Y',
weekNumbers: false,
displayArea: 'fecha_usuario',
daFormat: '%d/%m/%Y'
});}else{document.getElementById('Div_a_cargar').i nnerHTML='<img src=../img/ajax_loading.gif id=load_img /> ';}});} </script>
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 15:48.