Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso validar varios campos de com formato Hora e Minuto e esse código da certo apenas se tiver 1 campo, mas preciso de 14 campos
<script type="text/javascript">
function Time(time){
var hours = '';
hours = hours + time;
if(hours.length == 2){
hours = hours + ':';
document.forms[0].time.value = hours;
}
if(hours.length == 5){
validTime();
}
}
</script>
Tem como modificar para que ele aceite validar os 14 campos?>
11 minutos atrás, gabrieldarezzo disse:
Não entendi a duvida.
A função Time está correta?
Você entende o conceito de função (retorno)?
https://www.youtube.com/watch?v=OqR0hE-DQn4
Recomendo a leitura:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date
Sim Gabriel está correta, porém se eu tento utilizar ela em mais de uma vez ela nao funciona mais:
<input id="time" class="input" name="hora1" type="text" size="35" maxlength="5" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" onkeyup="Time(this.value)" required />
<input id="time" class="input" name="hora2" type="text" size="35" maxlength="5" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" onkeyup="Time(this.value)" required />;
<input id="time" class="input" name="hora3" type="text" size="35" maxlength="5" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" onkeyup="Time(this.value)" required />O que você queria fazer?
Não consegui entender até pq sem a outra função: validTime() fica sem escopo...
De qualquer forma após indentar fica mais claro o problema:
veja:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="">
<input id="time" class="input" name="hora1" type="text" size="35" maxlength="5" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" onkeyup="Time(this.value)" required />
</form>
<script type="text/javascript">
function Time(time){
var hours = '';
hours = hours + time;
if(hours.length == 2){
hours = hours + ':';
//isto vai pegar o zoar...
//document.forms[0].time.value = hours;
//Tenta isso, ele pega o proprio valor e atribui....
this.value = hours;
}
if(hours.length == 5){
validTime();
}
}
</script>
</body>
</html>
Lembrando que nome de funções deveriam começar com minusculo, reservando o maiúsculo 'Time' para classes ....
Recomendo a leitura:
[https://github.com/Lecoleco45/clean-code-javascript](https://github.com/Lecoleco45/clean-code-javascript)
Não entendi a duvida.
A função Time está correta?
Você entende o conceito de função (retorno)?
https://www.youtube.com/watch?v=OqR0hE-DQn4
Recomendo a leitura:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date