Я только начинаю с JavaScript, и у меня возникли некоторые проблемы, пытаясь понять, почему что-то работает не так, как должно. В этом конкретном случае я не понимаю, почему, если я вызываю функцию, которая вызывает другую функцию, в качестве параметра, вторая работает, а первая - нет. Если я вызываю непосредственно вторую функцию, то она тоже не работает. Таким образом, я нашел единственный способ заставить ее работать, вызывая вторую функцию через первую и заставляя вторую функцию также выполнять работу первой.
Может кто-нибудь сказать мне, где проблема и почему ?
function resultado(texto) {
document.getElementById("mayor").innerHTML = texto;
}
function comparar() {
var n1, n2, n3, texto;
n1 = document.getElementById("n1").value;
n2 = document.getElementById("n2").value;
n3 = document.getElementById("n3").value;
if (isNaN(n1) || isNaN(n2) || isNaN(n3)) {
document.getElementById("mayor").innerHTML = "Deben ser números";
}
n1 = parseInt(n1);
n2 = parseInt(n2);
n3 = parseInt(n3);
texto = "El mayor es: ";
if (n1 < n2) {
if (n2 < n3) texto += n3 + " ";
else texto += n2 + " ";
} else {
if (n1 < n3) texto += n3 + " ";
else texto += n1 + " ";
}
document.getElementById("mayor").innerHTML = texto;
return texto;
}
<div id="fondo">
<div id="contenido">
<h1 id="titulo">El mayor de 3</h1>
<p>Introduce 3 números enteros:</p>
<label for="n1">Número 1: </label>
<input value="0" name="n1" id="n1" size="4"><br>
<label for="n2">Número 2: </label>
<input value="0" name="n2" id="n2" size="4"><br>
<label for="n3">Número 3: </label>
<input value="0" name="n3" id="n3" size="4">
<button type="button" onclick="document.resultado(comparar());">¿mayor?</button>
<br>
<p id="mayor"></p>
</div>
</div>