Foros del Web » Programando para Internet » Javascript »

Ejecutar funcion al llenar campos

Estas en el tema de Ejecutar funcion al llenar campos en el foro de Javascript en Foros del Web. Con ayuda de las FAQ del foro armé un formulario que resta fechas y devuelve el resultado solo en días. El problema es que para ...
  #1 (permalink)  
Antiguo 13/06/2012, 14:53
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Ejecutar funcion al llenar campos

Con ayuda de las FAQ del foro armé un formulario que resta fechas y devuelve el resultado solo en días. El problema es que para obtener el resultado debo ejecutar una función haciendo click en un botón. El único botón que tiene el formulario ya se utiliza para redirigir a diferentes páginas de acuerdo a la opción elegida en un menú select del mismo formulario. La consulta es: ¿es posible ejecutar la funcion que calcula la diferencia de días una vez completados los campos? Sé que se pueden cargar automáticamente al refrescar poniendo el onload en el body pero en este caso yo necesito que el cálculo lo haga automáticamente una vez ingresadas las 2 fechas. Claro que podría hacerse mediante un botón pero debería ser el mismo que se usa para enviar el formulario, ya que hacer que el usuario presione la opción Calcular no queda nada bien, y es muy poco práctico.

¿Alguna idea? Muchas gracias como siempre.
  #2 (permalink)  
Antiguo 13/06/2012, 15:12
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Ejecutar funcion al llenar campos

O enter para una cosa o enter para otra, para las dos no es posible, elige otro botón, como podría ser el tabulador.

para eso, en el último campo agrega "onkeydown" y mediante el objeto event verifica que el botón presionado sea efectivamente el tabulador (keycode == 9 ó which==9)

<input type="text" onkeydown="calcular(event)">

Código Javascript:
Ver original
  1. function calcular(e){
  2. if(e.keycode== 9){
  3. alert("has pulsado el tabulador, así que aquí sustituyo el enter por las funciones de cálculo");
  4. }
  5.  
  6. e.preventDefault();
  7. return false;
  8. }

Usa de paso el event.preventdefault() si quisieras prevenir que focalice el siguiente elemento, si no, simplemente dejalo sin return false; y preventdefault().
  #3 (permalink)  
Antiguo 15/06/2012, 10:17
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Ejecutar funcion al llenar campos

Gracias por tu respuesta. Tal vez me estoy explicando mal, fijate en esta página: http://www.rentalcars.com/

En el formulario uno elige las fechas le da al botón buscar y mediante javascript por lo que se ve, devuelve un precio que depende de la diferencia de días entre fecha de alquiler y devolución. En este caso el botón se encarga de buscar pero también de calcular la cantidad de días y multiplicar por el precio diario. Algo por el estilo tenía que hacer.

Muchas gracias por tu ayuda.

Etiquetas: campos, formulario, funcion
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 18:39.