Fórum Função Calcular Salário - JavaScript #439771
16/04/2013
0
Primeiramente gostaria de dizer que sou novo no fórum e estou estudando JavaScript. Já estudei bastante HTML e também CSS, mas JavaScript eu nunca tinha usado. Como sei que é algo importante, estou me esforçando pra aprender agora.
Agora ao problema: estou criando aqui uma função para calcular o salário de um funcionário com base no valor da hora e na quantidade de horas trabalhadas. Ou seja, o salário vai ser igual ao produto do valor da hora e da quantidade de horas trabalhadas:
Salario = Valor da Hora X Quantidade de Horas Trabalhadas
Criei uma função chamada calculaSalario, que pega os valores de dois inputs, calcula o salário e mostra uma mensagem com o resultado. Só que ao clicar no botão, a mensagem não está sendo exibida.
Pelo que vi, é pra botar o nome da função no atributo onclick e o alert é a função para exibir mensagens, mas aqui não está funcionando. Se alguém tiver uma ideia do que seja, eu agradeço.
Obrigado desde já.
Carlos Andriê
Curtir tópico
+ 0Posts
16/04/2013
William
Gostei + 0
16/04/2013
Carlos Andriê
O HTML consiste basicamente de um fieldset com alguns inputs e um button que chama a função:
<fieldset> <legend>Cálculo do salário</legend> <label>Valor da hora:</label> <input id="valor" type="text"/> <label>Quantidade de horas trabalhadas:</label> <input id="quantidade" type="text"/> <button id="calcular" onclick="calculaSalario">Calcular salário</button> </fieldset>
Gostei + 0
16/04/2013
Roniere Almeida
Gostei + 0
16/04/2013
Carlos Andriê
A função é essa:
<script type="text/javascript">
function calculaSalario(){
var valor = document.getElementById("valor");
var quantidade = document.getElementById("quantidade");
var salario = valor*quantidade;
alert(salario);
}
</script>Se eu botar só alert('teste') dentro do onclick funciona.
Gostei + 0
16/04/2013
Roniere Almeida
Gostei + 0
16/04/2013
Joel Rodrigues
Cara, reparei duas coisas "faltando" no seu código:
1) Quando você define as variáveis valor e quantidade, você passa para elas o resultado da função getElementById. Porém, essa função vai te retornar, na verdade, os inputs e não os valores dentro deles. O que você precisa aí é da propriedade value dos inputs, ou seja, falta colocar .value após o parêntese (antes do ponto-e-vírgula).
2) Na tag button, ao chamar a função calculaSalario, faltou colocar os parênteses após o nome, indicando que é uma função.
Gostei + 0
16/04/2013
Joel Rodrigues
<!DOCTYPE html>
<html>
<head>
<title>Cálculo de salário</title>
<meta charset="UTF-8" />
<script type="text/javascript">
function calculaSalario(){
var valor = document.getElementById("valor").value;
var quantidade = document.getElementById("quantidade").value;
var salario = valor*quantidade;
alert(salario);
}
</script>
</head>
<body>
<fieldset>
<legend>Cálculo do salário</legend>
<label>Valor da hora:</label>
<input id="valor" type="text"/>
<label>Quantidade de horas trabalhadas:</label>
<input id="quantidade" type="text"/>
<button id="calcular" onclick="calculaSalario()">Calcular salário</button>
</fieldset>
</body>
</html>Boa sorte.
Gostei + 0
16/04/2013
Carlos Andriê
Dessas dicas eu não esqueço mais.
Obrigado a todos.
Gostei + 0
16/04/2013
Roniere Almeida
Cara, reparei duas coisas "faltando" no seu código:
1) Quando você define as variáveis valor e quantidade, você passa para elas o resultado da função getElementById. Porém, essa função vai te retornar, na verdade, os inputs e não os valores dentro deles. O que você precisa aí é da propriedade value dos inputs, ou seja, falta colocar .value após o parêntese (antes do ponto-e-vírgula).
2) Na tag button, ao chamar a função calculaSalario, faltou colocar os parênteses após o nome, indicando que é uma função.
estava no meio do caminho, hehehehe.
Gostei + 0
16/04/2013
Joel Rodrigues
Já que o problema foi resolvido, estou fechando o tópico.
Abraço a todos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)