Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com script de cálculo e validação de nome


HugoT

Pergunta

Bom dia a todos!

Sou novato em html e javascript, e particularmente, estou tendo um pouco de dificuldades com javascript.

Eu fiz um formulário de pedidos de sushi para treinar as habilidades de javascript, mas não estou conseguindo botar a função que criei para funcionar. A idéia é simples, apenas fazer a multiplicação do numero de cada item com o valor de cada item, e depois somar tudo.

Aí segue o código:

<script type="text/javascript">

function updateOrder() {

var numKappa = document.getElementById("numkappa");

var numInari = document.getElementById("numinari");

var numMaki = document.getElementById("numaki");

var numUra = document.getElementById("numura");

const VALORKAPPA = 4

const VALORINARI = 1.50

const VALORMAKI = 8

const VALORURA = 7

if (numKappa == "")

numKappa = 0;

else

if (numInari == "")

numInari = 0;

else

if (numMaki == "")

numMaki = 0;

else

if (numUra == "")

numUra = 0;

var total = (numKappa * VALORKAPPA) + (numInari * VALORINARI) + (numMaki * VALORMAKI) + (numUra * VALORURA);

document.getElementById("total").value = "R$ " + total.toFixed(2);

}

function validaNome() {

if (document.getElementById("name") == "")

alert("Desculpe, mas o seu nome deve ser informado")

}

</script>

Usei a função através do onsubmit na tag <form>

Me desculpem, ainda estou me acostumando as regras de postagem, esse é o meu primeiro post. Também não sei se postei no lugar certo.

Obrigado

HugoT

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

document.getElementById("algumID") retorna um elemento html.

var total = (numKappa * VALORKAPPA)

Isso não vai funcionar porque você está multiplicando um [htmlinputElement] por um inteiro/float.

Se o elemento no caso é um input e você quer saber o CONTEUDO desse input, você precisa usar:

document.getElementById("algumID").value

Link para o comentário
Compartilhar em outros sites

  • 0

É, eu não postei o código HTML para não ocupar muito espaço, mas enfim, os valores que eu quero atribuir para as variáveis (numKappa, etc), são de números que alguém vai colocar em um <input>. Então devo acrescentar um ".value" após o document.getElelementById("numkappa")?

Eu tentei dessa forma, e a função não me retorna nada...

Link para o comentário
Compartilhar em outros sites

  • 0

Postando o código html:

<body>

<h1 align=center>Pedido</h1>

<table cellpadding=50><form id="form" method=post align=right onsubmit="validaNome(); updateOrder();">

<tr>

<td><img src="sushi.gif" align=left></td>

<td>Nome: <input type="text" id="name" value="" size=20><br>

# de Kappamaki <input type="text" id="numkappa" value="">*<br>

# de Inarizushi <input type="text" id="numinari" value=""><br>

# de Makizushi <input type="text" id="nummaki" value="">*<br>

# de Uramaki <input type="text" id="numura" value="">*<br>

Total <input type="text" id="total" value="" readonly="readonly"><br>

<input type="submit" value="Enviar" onclick=return "validaNome(this.form);"><br>

<p>* = vendidos por rolo</p>

</td>

</table>

</form>

<h3 align=center><a href="sushihome.html">Voltar</a></h3>

</body>

</html>

A temática da página é sobre sushi rs

Editado por HugoT
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...