Как мне добавить текст перед моим ответом в текстовое поле, используя setAttribute, но только после печати результата

#javascript

#javascript

Вопрос:

Я хочу, чтобы он считывал число, которое было вычислено), где число, которое было вычислено, является результатом добавления первых двух текстовых полей (я также использую window.onload, поэтому мой скрипт находится в началефайл.

 function setUpEvents() {
  function add_number() {
    var first_number = parseInt(document.getElementById("tb1").value);
    var second_number = parseInt(document.getElementById("tb2").value);
    var result = first_number   second_number;
    document.getElementById("tb3").value = resu<
  };
}
window.onload = function() {
  setUpEvents();
}; 
 <div>
  <h1>Add two number using text box as input using javascript</h1>
</div>
Enter First Number : <br>
<input type="text" id="tb1" name="TextBox1">
<br> Enter Second Number : <br>
<input type="text" id="tb2" name="TextBox2">
<br> Result : <br>
<input type="text" id="tb3" name="TextBox3">
<br>
<input type="button" name="b1" value="GO" onclick="add_number()"> 

Комментарии:

1. onclick="add_number()" не будет работать, потому что он недоступен в этой области.

2. Ваша область действия нарушена. Зачем оборачивать функцию в функцию. Просто имейте это в голове и вызывайте его.

Ответ №1:

Просто удалите setUpEvents, чтобы функция не выходила за рамки встроенного обработчика событий

Также удалите встроенный обработчик событий

Вместо этого используйте EventListeners. Я изменил имя на id для кнопки

 function add_number() {
  var first_number = parseInt(document.getElementById("tb1").value);
  var second_number = parseInt(document.getElementById("tb2").value);
  var result = first_number   second_number;
  document.getElementById("tb3").value = "The-number-that-has-been-computed is "  resu<
};
window.addEventListener("load", function() {
  document.getElementById("b1").addEventListener("click", add_number);
}); 
 input { width: 300px } 
 <div>
  <h1>Add two number using text box as input using javascript</h1>
</div>
Enter First Number : <br>
<input type="text" id="tb1" name="TextBox1">
<br> Enter Second Number : <br>
<input type="text" id="tb2" name="TextBox2">
<br> Result : <br>
<input type="text" id="tb3" name="TextBox3">
<br>
<input type="button" id="b1" value="GO" /> 

Комментарии:

1. @MRPLUNGJAN Я выполнил ваш фрагмент кода, но как мне добавить текст-number-that-has-been-computed, чтобы он отображался шрифтом ответа при отправке в 3-м текстовом поле

2. Я хочу, чтобы строка «Число, которое было вычислено» печаталась перед моим результатом, как мне это сделать

3. Отлично, большое вам спасибо! ps я проголосую за это, как только у меня будет 15 репутации lol.

4. Как бы я добился такого же результата, используя «setAttribute», просто любопытно

5. Вы имеете в виду document.getElementById(«b1»).setAttribute(«значение», «бла-бла-бла» результат)