Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo Kubart

Script não roda

Recommended Posts

Tenho duas funçãoes a função hora() funciona perfeitamente já a t() não

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Love Run  - Vale a pena correr</title>

<link rel="stylesheet" type="text/css" href="estilo.css"/>
<link rel="shortcut icon" href="favicon.ico" media="screen" />

<script type="text/javascript">
//Tempo
function t() {	
if(document.time.df.value == ""){
	alert("Informe a distância pretendida");
		document.time.df.focus();
				return false;
}
else if(document.time.di.value == ""){
	alert("Informe a distância");
		document.time.di.focus();
				return false;
}
else if(document.time.ti.value == ""){
	alert("Informe o tempo.");
		document.time.ti.focus();
				return false;
}
//Verifica se foi digitado somente números
else if((isNaN(document.time.df.value))||(isNaN(document.time.di.value))){
		alert("Digite somente números");
				return true;
}



//Variáveis	
var di   = eval(document.time.di.value);
var df = eval(document.time.df.value);
var ti = eval(document.time.ti.value);

//Calculos
var m = parseInt(ti.substring(3, 5)) / 60;
var s = parseInt(ti.substring(6, 8)) / 3600;
var ti =  parseInt(ti.substring(0, 2)) + m + s;

var tf = (df * ti)/ di;
var hf = parseInt(tf);
var mc = (tf - df) / 60;
var mf = parseInt(mc);
var sf = (mc-mf) / 60;
var sf = parseInt(sf);

document.time.resultado.value = hf+":"+mf+":"+sf;
}

// Hora
function hora(evento, objeto){
var keypress=(window.event)?event.keyCode:evento.which;
campo = eval (objeto);
caracteres = '0123456789';
separacao1 = ':';
conjunto1 = 2;
conjunto2 = 5;
conjunto3 = 7;
if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (19))
{
	if (campo.value.length == conjunto1 )
	campo.value = campo.value + separacao1;
	else if (campo.value.length == conjunto2)
	campo.value = campo.value + separacao1;
	else if (campo.value.length == conjunto3)
	campo.value = campo.value;
}
else
	event.returnValue = false;
}
</script>
</head>
<body>
<form name="time" onsubmit="return false;">
Tempo: <input type="text" name="ti" maxlength="8" size="8" onKeyPress="hora(event, this);" /> <br>

Distância Percorrida: <input type="text" name="di" /><br>
Distância Pretendida: <input type="text" name="df" /><br>

<input type="button" onClick="t();" value="ver">

Tempo final: <input type="text" name="resultado" maxlength="8" size="8"/>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aperte Ctrl+Shif+J no teu Firefox, e corrija os erros.

 

leitura recomendada:

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

não use o eval.

 

e prefira usar document.getElementById()

 

em vez de document.form.campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.