Pasar valor al form!

Nuevamente necesito de tu ayuda!
He realizado unos cambio en el calendario... En este momento se me ha presentado la siguiente situación...
Lo que necesito en realidad es que cuando se produce un cambio en el txt de la fecha que esta situado debajo del calendario, me envíe ese dato al script turnos.php así yo mediante php puedo recuperar el dato...
El código es el siguiente:
<form action="turnos.php"method='post'>
<table>
<tr>
<td colspan="4" id="cont"></td>
</tr>
<tr>
<td>
<input style="text-align: center" onchange="enviarForm();" name="date" id="f_date" value="<?php echo "$id"; ?>" size="14" />
</td>
</tr>
</table>
</form>
La función seria esta pero no me resulta útil ya que con el onchange, necesito modificar el contenido del txt y salir del mismo para que se produzca dicho evento
como el txt recibe la fecha que le pasamos cuando hacemos click en el calendario, en ese momento me tendría que enviar el contenido de dicho txt al script turnos.php.
<script>
function enviarForm(){
document.forms[0].submit();
}
</script>
Si quieres te dejo la función del calendario para ver si modificándolo podríamos lograr que envíe el dato a través de esta función al script turnos.php
-----------------------------------------------------
<script type="text/javascript">
  function updateFields(cal) { 
              var date = cal.selection.get(); 
              if (date) { 
                  date = Calendar.intToDate(date); 
      document.getElementById("f_date").value = Calendar.printDate(date, "%d-%m-%Y");
    //Actualización de la lista de turnos:
      $("#divListaTurnos").load("listaturnos.php?f_date=" + $("#f_date").val());
       } 
     }; 
      Calendar.setup({
              cont         : "cont",
              <!--showTime     : 12,-->
              onSelect     : updateFields,
              onTimeChange : updateFields
      });
   </script>
-----------------------------------------------

1 respuesta

Respuesta
1
Antes de contestarte: ¿La fecha se puede meter manualmente o siempre a través del calendario?
Hola carlos!, gracias por contestar!
No, la fecha se ingresa a través del calendario. En ningún momento tienes que tipearla.
Espero tu respuesta...
Saludos
Diego
No me queda clara una cosa: ¿Para qué quieres llamar a turnos.php de nuevo? ¿No se está actualizando ya la lista de turnos cuando seleccionas un día en el calendario? Si haces un submit del formulario, perderás todo el contenido de la pégina, incluida la lista de turnos para el día que acabas de seleccionar.
Aclarame este punto y te sigo ayudando.
Hola carlos. Si la verdad que tienes razón acerca de la actualización!, solamente que no se otra forma de poder pasarle la fecha y el profesional correspondiente.
Es decir, yo con esta linea que esta en calendario.php:
$("#divListaTurnos").load("listaturnos.php?f_date=" + $("#f_date").val());
Le paso a listaturnos.php la fecha seleccionada en calendario.php
con esta otra que se encuentra en turnos.php:
$("#divListaTurnos").load("listaturnos.php?doctor=" + $("#doctores").val());
Le paso a listaturnos.php el valor del combobox situado en turnos.php
por sino queda claro el script que se ejecuta es turnos.php, el cual contiene listaturnos.php y calendario.php
Ahora lo que no sabemos es como pasar las dos cosas, porque cuando pasamos el doctor la fecha se borra y cuando pasamos la fecha el doctor se borra en listaturnos.php, ya que se actualiza listaturnos.php
ahora lo que queremos lograr es que cuando seleccionamos un doctor y después la fecha, el doctor siga estando en listaturnos.php.
Espero tu respuesta carlos
Saludos y desde ya gracias
Diego
¿Por qué no pasáis los dos parámetros en la llamada a listaturnos?
$("#divListaTurnos").load("listaturnos.php?doctor=" + $("#doctores").val() + "&f_date=" + $("#f_date").val());
Tanto en el cambio de fecha, como en el cambio de doctor.
¿Hola experto como andas?
Disculpa la demora en la respuesta, estaba de viaje.
Te comento que me ha funcionado de maravilla la función.
Nos estaremos viendo en la próxima.
Saludos y suerte!
Diego

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas