Por alguna razón, el atributo .value en los cuadros de entrada no devuelve los valores ingresados. Al ejecutarlo a través de Number(), devuelve 0 y, sin él, devuelve una cadena en blanco. No tengo idea de por qué, busqué respuestas en al menos una docena de sitios diferentes, pero no puedo encontrar una respuesta. Este es realmente un último esfuerzo para hacer que esto funcione. Gracias de antemano, y espero que no sea una sintaxis tonta. Pesky sección de código a continuación.
<div> <label for="angleAInput">A=</label> <input id="angleAInput" type="number" placeholder="mesure en degrés"><br> <label for="sideAInput">a=</label> <input id="sideAInput" type="number" placeholder="mesure en unités de longueur"><br> <label for="sideBInput">b=</label> <input id="sideBInput" type="number" placeholder="mesure en unités de longueur"> </div> <div> <button class="go">Triangle ou non?</button> </div> <h2 class="result"></h2> <script> const go = document.querySelector('.go'); const result = document.querySelector('.result'); let A = Number(document.querySelector('#angleAInput').value); let a = Number(document.querySelector('#sideAInput').value); let b = Number(document.querySelector('#sideBInput').value); let bsinA = b * Math.sin(A * Math.PI / 180); go.addEventListener('click', output); function output() { result.textContent = A; } </script>Esos valores son los valores de la entrada en la carga de la página, no cuando el usuario hace clic en el botón.
Recupere los valores dentro del detector de eventos de click .
<div> <label for="angleAInput">A=</label> <input id="angleAInput" type="number" placeholder="mesure en degrés"><br> <label for="sideAInput">a=</label> <input id="sideAInput" type="number" placeholder="mesure en unités de longueur"><br> <label for="sideBInput">b=</label> <input id="sideBInput" type="number" placeholder="mesure en unités de longueur"> </div> <div> <button class="go">Triangle ou non?</button> </div> <h2 class="result"></h2> <script> const go = document.querySelector('.go'); const result = document.querySelector('.result'); go.addEventListener('click', output); function output() { let A = Number(document.querySelector('#angleAInput').value); let a = Number(document.querySelector('#sideAInput').value); let b = Number(document.querySelector('#sideBInput').value); let bsinA = b * Math.sin(A * Math.PI / 180); result.textContent = A; } </script>