Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

438
Vistas
Operador no válido encontrado en javascript (interruptor) ¿cómo puedo resolver este código?
 <form action=""> <h2>Inter A Numbers</h2> <label for="">Number One</label> <input type="text" id="num1"> <br> <br> <label for="">Number Tow</label> <input type="text" id="num2"> <br> <br> <input type="button" onclick="operator()" value="Multiply"> <input type="button" onclick="operator()" value="Divide"> <input type="button" onclick="operator()" value="Addition"> <input type="button" onclick="operator()" value="Subtraction"> <input type="button" onclick="operator()" value="Clear"> </form> <p>The Result Is: <br> <span id="result"> </span> </p>
 <script> let result; const number1 = document.getElementById("num1"); const number2 = document.getElementById("num2"); switch(number1,number2) { case '+': result = number1 + number2; document.write(`${number1} + ${number2} = ${result}`); break; case '-': result = number1 - number2; document.write(`${number1} - ${number2} = ${result}`); break; case '*': result = number1 * number2; document.write(`${number1} * ${number2} = ${result}`); break; case '/': result = number1 / number2; document.write(`${number1} / ${number2} = ${result}`); break; default: document.write('Invalid operator found'); break; } <script/>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

1) Debe pasar un operador en función de operador a opeartor de JS como:

 <input type="button" onclick="operator('*')" value="Multiply">

2) Su secuencia de comandos se ejecutará una vez, por lo que es mejor crear una función y llamarla al hacer clic en el botón.

3) Debe tener value para mathematical opeartion

 const number1 = +document.getElementById( "num1" ).value; const number2 = +document.getElementById( "num2" ).value; 

 const display = document.getElementById("result"); function operator(op) { let result; const number1 = +document.getElementById("num1").value; const number2 = +document.getElementById("num2").value; switch (op) { case '+': result = number1 + number2; display.textContent = `${number1} + ${number2} = ${result}`; break; case '-': result = number1 - number2; display.textContent = `${number1} - ${number2} = ${result}`; break; case '*': result = number1 * number2; display.textContent = `${number1} * ${number2} = ${result}`; break; case '/': result = number1 / number2; display.textContent = `${number1} / ${number2} = ${result}`; break; case 'clear': display.textContent = ""; break; default: display.textContent = 'Invalid operator found'; break; } }
 <form action=""> <h2>Inter A Numbers</h2> <label for="">Number One</label> <input type="text" id="num1"> <br> <br> <label for="">Number Tow</label> <input type="text" id="num2"> <br> <br> <input type="button" onclick="operator('*')" value="Multiply"> <input type="button" onclick="operator('/')" value="Divide"> <input type="button" onclick="operator('+')" value="Addition"> <input type="button" onclick="operator('-')" value="Subtraction"> <input type="button" onclick="operator('clear')" value="Clear"> </form> <p>The Result Is: <br> <span id="result"> </span> </p>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe pasar una expresión en Switch . Una expresión es lo que se compara con cada cláusula de caso. En su caso, la expresión es un carácter que determina el operador ('+', '-', '/', '*'). Además, no hay una función llamada operator en su secuencia de comandos. Creo que así es como debería funcionar:

 function operator(operation) { let result; const number1 = Number(document.getElementById("num1").value); const number2 = Number(document.getElementById("num2").value); if (!operation) { document.getElementById("result").innerHTML = ""; document.getElementById("num1").value = ""; document.getElementById("num2").value = ""; } else if (isNaN(number1) || isNaN(number2)) document.getElementById("result").innerHTML = "Invalid operation found"; else { switch (operation) { case '+': result = number1 + number2; document.getElementById("result").innerHTML = (`${number1} + ${number2} = ${result}`); break; case '-': result = number1 - number2; document.getElementById("result").innerHTML = (`${number1} - ${number2} = ${result}`); break; case '*': result = number1 * number2; document.getElementById("result").innerHTML = (`${number1} * ${number2} = ${result}`); break; case '/': result = number1 / number2; document.getElementById("result").innerHTML = (`${number1} / ${number2} = ${result}`); break; } } }
 <form action=""> <h2>Inter A Numbers</h2> <label for="">Number One</label> <input type="text" id="num1"> <br> <br> <label for="">Number Tow</label> <input type="text" id="num2"> <br> <br> <input type="button" onclick="operator('*')" value="Multiply"> <input type="button" onclick="operator('/')" value="Divide"> <input type="button" onclick="operator('+')" value="Addition"> <input type="button" onclick="operator('-')" value="Subtraction"> <input type="button" onclick="operator()" value="Clear"> </form> <p>The Result Is: <br> <span id="result"> </span> </p>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tu expresión dentro de Switch está mal

 switch(number1,number2)

Según los documentos de las escuelas W3

Así es como deberían verse sus sentencias de cambio

 switch(expression) { case x: // code block break; case y: // code block break; default: // code block }

Y así es como funciona:

  1. La expresión de cambio se evalúa una vez.

  2. El valor de la expresión se compara con los valores de cada caso.

  3. Si hay una coincidencia, se ejecuta el bloque de código asociado.

  4. Si no hay ninguna coincidencia, se ejecuta el bloque de código predeterminado.

Supongo que quieres obtener el valor del operador,

En lugar de usar

 switch(number1,number2)

debe obtener una referencia para su operador

p.ej

 const operator= document.getElementById("operator");

y luego haga su cambio sobre su operador

 switch(operator)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda