Jump to content
Fórum Script Brasil
  • 0

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


HugoT

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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

Edited by HugoT
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...