Foros del Web » Programando para Internet » Javascript »

Calculo de dias laborales y que un imput tome un valor

Estas en el tema de Calculo de dias laborales y que un imput tome un valor en el foro de Javascript en Foros del Web. Saludos, más o menos tengo este formulario: Código PHP: < form id = "form1"  name = "form1"  method = "post"  action = "" >   < label ...
  #1 (permalink)  
Antiguo 30/10/2012, 14:03
 
Fecha de Ingreso: junio-2011
Mensajes: 8
Antigüedad: 12 años, 9 meses
Puntos: 0
Calculo de dias laborales y que un imput tome un valor

Saludos, más o menos tengo este formulario:
Código PHP:
<form id="form1" name="form1" method="post" action="">
  <
label>Fecha Inicio 
  
<input type="text" name="FechaInicio" id="FechaInicio" /> 
  <
br />
  
Fecha Final  </label>
  <
label>
  <
input type="text" name="FechaFin" id="FechaFin" />
  <
br />
  
Dias Continuos
  
<input type="text" name="DiasContinuos" id="DiasContinuos" />
  <
br />
  
Dias Habiles
  
</label>
  <
label>
  <
input type="text" name="DiasHabiles" id="DiasHabiles" />
  </
label>
  <
p>
    <
label>
    <
input type="submit" name="enviar" id="enviar" value="Enviar" />
    </
label>
  </
p>
</
form
Asimismo la funcion de calcular dias laborales:
Código PHP:
<?php  
function calculardias($fecha1$fecha2){ 
$dato1 explode("/"$fecha1);   
$dato2 explode("/"$fecha2);   
//defino fecha 1 
$ano1 $dato1[0]; 
$mes1 $dato1[1]; 
$dia1 $dato1[2]; 

//defino fecha 2 
$ano2 $dato2[0]; 
$mes2 $dato2[1]; 
$dia2 $dato2[2]; 

//calculo timestam de las dos fechas 
$timestamp1 mktime(0,0,0,$mes1,$dia1,$ano1); 
/* echo ("$timestamp1"."<br>");  */ 
$timestamp2 mktime(4,12,0,$mes2,$dia2,$ano2); 
/* echo ("$timestamp2"."<br>"); */ 
$segundos_diferencia $timestamp2 $timestamp1//resto a una fecha la otra */ 
/* echo ("$segundos_diferencia"."<br>"); */ 
$dias_diferencia $segundos_diferencia / (60 60 24); //convierto segundos en días 
$dias_diferencia round($dias_diferencia); //obtengo el valor absoulto de los días (quito el posible signo negativo) 

return $dias_diferencia

?>
La cuestión:
Como realizo el llamado de la funcion para que el input "DiasContinuos" tome un valor de la funcion el cual seria "$dias_diferencia" . Gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 30/10/2012, 15:53
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Calculo de dias laborales y que un imput tome un valor

una manera sería esta
Cita:
<input type="text" name="DiasContinuos" id="DiasContinuos" value="<?php echo calculardias(fecha1, fecha2); ?> " />
y esta sería otra
http://www.givegoodweb.com/post/71/javascript-php
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 30/10/2012, 17:16
 
Fecha de Ingreso: junio-2011
Mensajes: 8
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Calculo de dias laborales y que un imput tome un valor

Si entiendo, en el input se hace el llamado, pero las variables fecha1 y fecha2 corresponden a:
Código PHP:
Ver original
  1. <input type="text" name="FechaInicio" id="FechaInicio" />  
  2. <input type="text" name="FechaFin" id="FechaFin" />
como los llevo alli?
seria por php?
asi:
Código PHP:
Ver original
  1. <input name="diasc" type="text" id="diasc" size="5" readonly="readonly" value="<?php echo calculardias($_POST['desde'],$_POST['hasta']); ?> "/>
Intente asi y no me va :s

Última edición por Ch0nGu1; 30/10/2012 a las 17:18 Razón: etiquetas
  #4 (permalink)  
Antiguo 30/10/2012, 17:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Calculo de dias laborales y que un imput tome un valor

oooooooooop!! perdona, no me había fijado en los elementos del formulario. has de usar ajax.
haces una petición al archivo .php y el valor de la respuesta lo asignas al control
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: date, dias, input, laborales, php, time, txt
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 04:41.