Ajuda JavWeb

1 resposta
A

Gostaria de saber se existe uma função em JavaScript que eu coloque uma hora num campo e ele faça automaticamente o formato certo, por exemplo: eu digite num campo 123025 e ele coloque 12:30:25 com : automaticamente!
Desde já agradeço!

1 Resposta

M
<script>
function currencyHour(fld, milSep, decSep, e) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '[telefone removido]';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	if (whichCode == 13) return true;  // Enter
	if (whichCode == 8) return true;  // Delete (Bug fixed)
		key = String.fromCharCode(whichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
	len = fld.value.length;
	if (len <= 4){
	for(i = 0; i < len; i++)
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';
		for(; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
			aux += key;
			len = aux.length;
			if (len == 0) fld.value = '';
			if (len == 1) fld.value = '0'+ decSep + '0' + aux;
			if (len == 2) fld.value = '0'+ decSep + aux;
			if (len > 2) {
				aux2 = '';
				for (j = 0, i = len - 3; i >= 0; i--) {
					if (j == 3) {
						aux2 += milSep;
						j = 0;
					}
					aux2 += aux.charAt(i);
					j++;
				}
				fld.value = '';
				len2 = aux2.length;
				for (i = len2 - 1; i >= 0; i--)
					fld.value += aux2.charAt(i);
					fld.value += decSep + aux.substr(len - 2, len);
			}
	}
	return false;
}
</script>
<input name="tempo_gasto" type="text" size="10" maxlength="5" onKeyPress="return(currencyHour(this,':',':',event))"/>
Criado 3 de janeiro de 2008
Ultima resposta 3 de jan. de 2008
Respostas 1
Participantes 2