Função Calcular Salário - JavaScript
Olá a todos.
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á.
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ê
Curtidas 0
Respostas
William
16/04/2013
Colega por gentileza poste seu código aqui no fórum, fica mais fácil de entender o erro.
GOSTEI 0
Carlos Andriê
16/04/2013
Opa, desculpas pela falha. Realmente fica complicado sem o código.
O HTML consiste basicamente de um fieldset com alguns inputs e um button que chama a função:
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
Roniere Almeida
16/04/2013
cadê a função? ou vc ainda não fez?
GOSTEI 0
Carlos Andriê
16/04/2013
Vixe, estou mal pra postar em fórum, hein? Não levem a mal, eu vou aprendendo.
A função é essa:
Se eu botar só alert('teste') dentro do onclick funciona.
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
Roniere Almeida
16/04/2013
é normal, não se preocupe, deixe eu olhar!!!
GOSTEI 0
Joel Rodrigues
16/04/2013
Opa, deixa eu me meter aqui...
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.
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
Joel Rodrigues
16/04/2013
Resumindo, testei aqui o seguinte e funcionou:
Boa sorte.
<!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
Carlos Andriê
16/04/2013
Caramba, que mancada. Agora deu certo.
Dessas dicas eu não esqueço mais.
Obrigado a todos.
Dessas dicas eu não esqueço mais.
Obrigado a todos.
GOSTEI 0
Roniere Almeida
16/04/2013
Opa, deixa eu me meter aqui...
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.
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
Carlos Andriê
16/04/2013
Acontece, amigo.
Estou encerrando o tópico, já que a dúvida foi sanada.
Abraço a todos.
Estou encerrando o tópico, já que a dúvida foi sanada.
Abraço a todos.
GOSTEI 0
Joel Rodrigues
16/04/2013
Acontece, amigo.
Já que o problema foi resolvido, estou fechando o tópico.
Abraço a todos.
Já que o problema foi resolvido, estou fechando o tópico.
Abraço a todos.
GOSTEI 0