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

Problema al llamar javascript

Estas en el tema de Problema al llamar javascript en el foro de Frameworks JS en Foros del Web. Hola a todos tengo problemas al llamar a una funcion javascript este codigo lo he probado con firefox 3.x y funcionaba bien, pero cuando he ...
  #1 (permalink)  
Antiguo 03/06/2011, 10:35
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Problema al llamar javascript

Hola a todos

tengo problemas al llamar a una funcion javascript
este codigo lo he probado con firefox 3.x y funcionaba bien, pero cuando he actualizado mi navegador al Firefox 4 ya no funciona aqui comparto el codigo

La idea es que cuando ingreso una fecha me calcule cuantas semanas han pasado desde esta fecha hasta la fecha actual.
la respuesta en semana me debe mostrar en el siguiente campo de formulario.

en realidad la funcion hace un llamado a un archivo PHP que se encarga de realizar los calculos, para el cual le paso como parametro la fecha ingresada.

Ojala me entiendan, y gracias por su atencion

Esta es la parte de la funcion javascript
Código:
<!-Hoja de estilos del calendario -->
  <link rel="stylesheet" type="text/css" media="all" href="jscalendar/calendar-green.css" title="win2k-cold-1" />

  <!-- librería principal del calendario -->
 <script type="text/javascript" src="jscalendar/calendar.js"></script>

 <!-- librería para cargar el lenguaje deseado -->
  <script type="text/javascript" src="jscalendar/lang/calendar-es.js"></script>

  <!-- librería que declara la función Calendar.setup, que ayuda a generar un calendario en unas pocas líneas de código -->
  <script type="text/javascript" src="jscalendar/calendar-setup.js"></script>

<script language="javascript">
<!--
obj = new XMLHttpRequest();

function semana_gestacion(){
	auto = form1.fur.value;
	alert('hasta aqui llego');
	archivo = "calcula_semanagestacion.php?auto="+auto;
	obj.open('GET',archivo, true);
	obj.onreadystatechange=ver_semanagestacion;
	obj.send(null);
}

function ver_semanagestacion(){
	if (obj.readyState==4){
		if(obj.status==200){
			respuesta = obj.responseText;
			document.getElementById('div_sgestacion').innerHTML = respuesta;
		}
	}else{
		document.getElementById('div_sgestacion').innerHTML = "Procesando";
	}
}
//-->
</script>
Aqui el HTML desde donde se llama a la funcion y he puesto el Alert para ver si sale algo y parece que no llama a la funcion.
Código HTML:
<body>
<form action="graba_datos_gestante_hcli.php" method="post" name="form1" target="_self">
<table width="60%" border="0">
  <tr>
    <td>Fecha de Ultima Regla </td>
    <td><input name="fur" type="text" id="fur"  onchange="semana_gestacion()"  />
	<input type="image" id="lanzador" src="imagenes/btn_calendario.jpg" align="absbottom" /></td>
  </tr>
  <tr>
    <td>Semana de Gestacion </td>
    <td><div id="div_sgestacion">
	<input name="sgestacion" type="text" id="sgestacion" /></div></td>
  </tr>
  <tr>
    <td>Fecha de parto probable </td>
    <td><input name="fparto" type="text" id="fparto" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Grabar" /></td>
  </tr>
</table>

</form> 
Agradezco de antemano sus comentarios
Uso Fireforx 4. como navegador para desarrollar,
hasta Firefox 3.x no habia problemas, que cambios tendre que hacer..

He probado con IE7 y funciona sin problemas

Última edición por xmandbz; 03/06/2011 a las 10:43
  #2 (permalink)  
Antiguo 03/06/2011, 22:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema al llamar javascript

usa una función más completa y crossbrowser para obtener el XMLHttpRequest:

Código Javascript:
Ver original
  1. function getajax(){
  2.         try {
  3.             xmlhttpobj = new ActiveXObject("Msxml2.XMLHTTP");
  4.         } catch (ex) {
  5.             try {
  6.                 xmlhttpobj= new ActiveXObject("Microsoft.XMLHTTP");
  7.             } catch (ex2) {
  8.                 xmlhttpobj= false;
  9.             }
  10.         }
  11.         if (!xmlhttpobj && typeof XMLHttpRequest!='undefined') {
  12.             xmlhttpobj = new XMLHttpRequest();
  13.         }
  14.         return xmlhttpobj;
  15.     }

recuerda usar var para declarar variables.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 04/06/2011, 17:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al llamar javascript

Gracias por la atencion

hice lo que indicaste sobre crear el objeto ajax de manera mas general, pero sigue igual, funciona en IE, pero en firefox 4. nada, ni siquiera sale la alerta que puse, lo cual quiere decir que no logra llamar a la funcion, hay algo nuevo en la sintaxis del firefox 4 para llamar javascript desde html?

Código HTML:
<td>Fecha de Ultima Regla </td>
    <td><input name="fur" type="text" id="fur" onchange="semana_gestacion()"/> 
  #4 (permalink)  
Antiguo 08/06/2011, 10:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al llamar javascript

Ya resolvi el problema era que faltaba el "document" en la captura de la variable dentro de la funcion javascript, y quedo asi:

Código:
function semana_gestacion(){
var auto;
	auto = document.form2.fur.value;
	archivo = "calcula_semanagestacion.php?auto="+auto;
	obj.open('GET',archivo, true);
	obj.onreadystatechange=ver_semanagestacion;
	obj.send(null);
}
Gracias por la respuesta

salu2

Etiquetas: ajax, javascript
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:27.