modificar script para campo hora
Publicado por Eduardo (186 intervenciones) el 25/11/2021 20:35:20
Hola a todos... Gracias sismpre por su ayuda... Tengo el siguiente codigo para un campo donde se ingresa una hora...
El campo tiene la particularidad de poner el separador : (dos puntos) automaticamente entre la hora y los minutos.
y funciona pues hay que facilitar y permitir que esta se ingrese en el formato estandarizado siempre.
si se escribe una hora por ejemplo 10:38 no hay ningun problema el problema resulta al escribir por ejemplo 01:15
ya que hay que escribir el cero delante y es algo molesto..
lo ideal seria escribir or ejemplo 1:15 y automaticamente el codigo ponga el 0 (cero) delante para evitar que se termine ingresando 11:5
quien me da una manita a este codigo por favor...
El campo tiene la particularidad de poner el separador : (dos puntos) automaticamente entre la hora y los minutos.
y funciona pues hay que facilitar y permitir que esta se ingrese en el formato estandarizado siempre.
si se escribe una hora por ejemplo 10:38 no hay ningun problema el problema resulta al escribir por ejemplo 01:15
ya que hay que escribir el cero delante y es algo molesto..
lo ideal seria escribir or ejemplo 1:15 y automaticamente el codigo ponga el 0 (cero) delante para evitar que se termine ingresando 11:5
quien me da una manita a este codigo por favor...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script>
function check(e) {
validarHora(e);
const hora1=document.getElementById("hora1").value;
const hora2=document.getElementById("hora2").value;
if (hora1.length==5 && hora2.length==5) {
if (devolverMinutos(hora1)>devolverMinutos(hora2)) {
alert("Hora de Salida es superior a la hora de Entrada");
}
}
}
function validarHora(e) {
e.preventDefault();
if (e.target.value.length>=5) {
return;
}
if (e.target.value.length<5 && /[0-9]/.test(e.key)) {
e.target.value+=e.key;
}
if (e.target.value.length==2) {
e.target.value+=":";
}
};
function devolverMinutos(horaMinutos) {
return (parseInt(horaMinutos.split(":")[0])*60)+parseInt(horaMinutos.split(":")[1]);
}
</script>
<input name="hora1" type="text" required="required" onkeypress="check(event)" id="hora1" autocomplete="off" size="3" maxlength="5"/>
Valora esta pregunta


0