Ir para conteúdo

POWERED BY:

Arquivado

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

Victor41

Calculo de nota dando errado!

Recommended Posts

Galera, fiz o código, mas não consigo achar erro nele, me ajudem ai.

 

<html>
<head>
	<title></title>
</head>
<body>
<form name="calculo">
	<label>N1</label>
	<input type="text" name="n1" size="2" value="0" onblur="calcular()">
	<label>N2</label>
	<input type="text" name="n2" size="2" value="0" onblur="calcular()">
	<label>N3</label>
	<input type="text" name="n3" size="2" value="0" onblur="calcular()">
	<label>N4</label>
	<input type="text" name="n4" size="2" value="0" onblur="calcular()"></br></br>
	<label>Media final</label>
	<input type="text" name="md" disabled="true" size="20">
</form>

<script type="text/javascript">
<!--
	var p1, p2, p3, p4, media;
	
	function calcular(){
	p1 = parseFloat(document.calculo.n1.value);
	p2 = parseFloat(document.calculo.n2.value);
	p3 = parseFloat(document.calculo.n3.value);
	p4 = parseFloat(document.calculo.n4.value);
	
	media = (p1 + p2 + p3 + p4) / 4;
	
	document.calculo.md.value = media;
}
//-->
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixe assim o HTML:

 

<form name="calculo">
        <label>N1</label>
        <input type="text" name="n1" size="2" value="0" />
        <label>N2</label>
        <input type="text" name="n2" size="2" value="0" />
        <label>N3</label>
        <input type="text" name="n3" size="2" value="0" />
        <label>N4</label>
        <input type="text" name="n4" size="2" value="0" onfocus="calcular()" /></br></br>
        <label>Media final</label>
        <input type="text" name="md" disabled="true" size="20">
</form>

Prefira usar DOM para pegar os elementos.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não só com getElementById(), mas sim outros. Uma correção no seu script é trocar a variável media por outro nome. Assim:

 

<!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></title>
<script type="text/javascript">
var p1, p2, p3, p4, mediaCalc;

function calcular(){
	p1 = parseFloat(document.calculo.n1.value);
	p2 = parseFloat(document.calculo.n2.value);
	p3 = parseFloat(document.calculo.n3.value);
	p4 = parseFloat(document.calculo.n4.value);
	
	mediaCalc = (p1 + p2 + p3 + p4) / 4;
	
	document.calculo.md.value = mediaCalc;
}
</script>
</head>

<body>
<form name="calculo">
        <label>N1</label>
        <input type="text" name="n1" size="2" value="0" />
        <label>N2</label>
        <input type="text" name="n2" size="2" value="0" />
        <label>N3</label>
        <input type="text" name="n3" size="2" value="0" />
        <label>N4</label>
        <input type="text" name="n4" size="2" value="0" onblur="calcular()" /></br></br>
        <label>Media final</label>
        <input type="text" name="md" disabled="true" size="20">
</form>
</body>
</html>
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, percebi que a variável "media" não fazia funcionar o script, e mudando ele passou a funcionar, sabe me dizer porque ? A variável é variável global, algo do tipo ? :S

 

 

ps.: Thiago você que é moderador, me diz uma coisa, eu to estudando javascript e ta surgindo várias dúvidas, tento resolve-las ao maximo antes de vir aqui, tem outra maneira de tirar dúvidas sem ter que fica criando tópicos ? Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua variável media estava fazendo referência ao [object Media]. I just changed the name. :D

 

Também estou estudando JavaScript. Sei bem pouco para falar a verdade, mas o melhor jeito de aprender é pesquisar, pesquisar, treinar, pesquisar de novo e assim vai. Infelizmente, as melhores referências estão em inglês. :(

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.