Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
cómo hacer una función para activar el valor de los atributos

Hola a todos, estaba trabajando para hacer que esta calculadora funcionara y tenía otras formas de hacerlo, pero quería hacerlo de una manera particular.

 <form action=""> <label for="firstVal">numberA</label><br> <input type="number" name="firstVal" id="firstVal"><br> <label for="SecondVal">numberB</label><br> <input type="number" name="SecondVal" id="SecondVal"><br> <label for="Result">Result</label><br> <input type="number" name="Result" id="Result"readonly><br> <br><br> <input type="button" value="+" onclick="Calculate()"> <input type="button" value="-" onclick="Calculate()"> <input type="button" value="x" onclick="Calculate()"> <input type="button" value="/" onclick="Calculate()"> <input type="button" value="C" onclick="Calculate()"> </form>
 var firstNum = document.getElementById("firstVal").innerHTML; var secondNum = document.getElementById("SecondVal").innerHTML; var Resul = document.getElementById("Result"); var Operator= document.querySelectorAll('value'); function Calculate() { var Sol; switch (Operator){ case "+" : Sol=firstNum+secondNum console.log(Sol) break; case "-" : Sol=firstNum-secondNum console.log(Sol) break; case "x" : Sol=firstNum*secondNum console.log(Sol) break; case "/" : Sol=firstNum/secondNum console.log(Sol) break; case "C" : firstNum&secondNum&Resul==null break; }; };

mi problema está en el interruptor, como puede ver, estoy tratando de crear una función que determinará qué operación realizará en función del valor del atributo que le di a la declaración del interruptor Operador como clave para verificar y no sé si me estoy perdiendo algo o estoy haciendo algo mal, por favor déjame saber si hay alguna forma de lograr lo anterior

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cosas que cambié:

  • incluir el valor del botón en la llamada de función (alternativamente, fn (evento) -> valor = evento.objetivo.valor)
  • obtenga la referencia a las entradas fuera de la función, pero dado que los valores del número A/B cambian, obtenga los valores reales cada vez que se inicia la función
  • los valores de las entradas son cadenas, así que conviértalas en números con el prefijo + (alternativamente con Number('str'))
  • calcule el interruptor interno 'Sol', pero establezca como resultado solo una vez al final de la función
  • en el caso de 'C', como alternativa a restablecer el valor de cada entrada a una cadena vacía, simplemente llame a form.reset() y termine la función (no hay resultado para establecer en este caso) llamando a 'return'

Mejoras sugeridas:

  • firstNum, secondNum, firstVal, secondVal, numberA, numberB - muchos nombres diferentes :) Es mejor apegarse al mismo término cada vez
  • en lugar de configurar el controlador de clics en cada botón, use el evento de envío del formulario con .preventDefault()

 var formElement = document.getElementById('calculate'); var firstInputElement = document.getElementById("firstVal"); var secondInputElement = document.getElementById("secondVal"); var resultInputElement = document.getElementById("Result"); function Calculate(value) { var nA = +firstInputElement.value; var nB = +secondInputElement.value; var Sol; switch (value) { case "+": Sol = nA + nB break; case "-": Sol = nA - nB break; case "x": Sol = nA * nB break; case "/": Sol = nA / nB break; case "C": formElement.reset() return; }; resultInputElement.value = Sol };
 <form action="" id="calculate"> <label for="firstVal">numberA</label><br> <input type="number" name="firstVal" id="firstVal"><br> <label for="SecondVal">numberB</label><br> <input type="number" name="secondVal" id="secondVal"><br> <label for="Result">Result</label><br> <input type="number" name="Result" id="Result" readonly><br> <br><br> <input type="button" value="+" onclick="Calculate(this.value)"> <input type="button" value="-" onclick="Calculate(this.value)"> <input type="button" value="x" onclick="Calculate(this.value)"> <input type="button" value="/" onclick="Calculate(this.value)"> <input type="button" value="C" onclick="Calculate(this.value)"> </form>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda