Estoy tratando de tener tres áreas de texto. Los dos primeros son sumandos y el último es la suma. Lo que se supone que debe suceder es que si su ecuación matemática es correcta, un párrafo dirá true.

De lo contrario, dirá false. Sin embargo, el párrafo no dice nada cuando lo intento. Aquí está mi código:

<textarea id="x"></textarea>
<textarea id="y"></textarea>
<textarea id="z"></textarea>
<script>
    var x = document.getElementById('x').innerHTML;
  var y = document.getElementById('y').innerHTML;
  var z = x + y;
  var p = document.getElementById('p');
</script>
<button oclick="if (z = document.getElementById('z').innerHTML) {p.innerHTML = true} else {p.innerHTML = false}">Calculate</button>
<br>
<p id="p"></p>
1
user8672362 13 nov. 2017 a las 21:49

2 respuestas

La mejor respuesta

Primero, adjuntar el evento de clic a su botón desde el código JS usando addEventListener será mejor (evite los eventos en línea), luego coloque su código dentro, debe usar .value en lugar de {{X2} } para obtener el valor de un área de texto.

Tenga en cuenta también que debe usar doble igual == cuando desee comparar dos elementos, y debido a que necesitamos realizar operaciones matemáticas, debemos convertir nuestros valores en números usando el método Number().

Debería ser algo como:

document.getElementById("calculate").addEventListener("click", function() {
  var x = Number( document.getElementById('x').value );
  var y = Number( document.getElementById('y').value );
  var z = x + y;
  var p = document.getElementById('p');

  if (z == document.getElementById('z').value) {
    p.innerText = "true";
  } else {
    p.innerText = "false";
  }
});
<textarea id="x"></textarea>
<textarea id="y"></textarea>
<textarea id="z"></textarea>
<button id="calculate">Calculate</button>
<br>
<p id="p"></p>
1
Zakaria Acharki 13 nov. 2017 a las 18:54

primero de todo, le sugiero que utilice la entrada aquí en lugar de En segundo lugar , le sugiero que utilice la función cuando utilice "onclick"

Aquí está el resultado:

<html>
<body>
<input type='number' placeholder='x: (input number please)' id="x" />
<input type='number' placeholder='y: (input number please)' id="y" />
<input type='number' placeholder='z: (input number please)' id="z" />
<br />
<button onclick="CheckByFormula()">Calculate</button>
<br />
<p>Check result: z=x+y ?</p>
<p id="p"></p>
<script type='text/javascript'>
  function CheckByFormula(){
    var x = parseInt(document.getElementById('x').value);
  var y = parseInt(document.getElementById('y').value);
  var z = x + y;
  //alert('having these params:\n x='+x+' y='+y+' z='+z);
  var p = document.getElementById('p');  
  z1 = parseInt(document.getElementById('z').value);
  alert('z1='+z1+' z='+z);
    if(z1 == z){
        document.getElementById('p').innerHTML = 'true'
    } 
    else {
        document.getElementById('p').innerHTML = 'false';
    }
  }
</script>

</body>
</html>

https://jsfiddle.net/14pm7ypz/2/

0
Eugene Kapustin 13 nov. 2017 a las 19:25