как добавить два числа и отобразить результат в заголовке в javascript - PullRequest
0 голосов
/ 18 апреля 2020

Мне нужно взять два числа из пользовательского ввода и добавить их, а затем отобразить их в заголовке, например "total is ()", и другую функцию, чтобы отобразить их среднее значение. Я попробовал этот код, но когда я нажимаю на кнопку, ничего не происходит, и результат не показывает мне. не могли бы вы помочь мне понять ошибку

var count = 0;

function start() {
  var i = document.getElementById("computeAvg");
  i.addEventListener("click", add, false);
}

function add() {
  var a, b, c;
  a = Number(document.getElementById("quiz1").value);
  b = Number(document.getElementById("quiz2").value);
  c = a + b;
  document.getElementById("sTotal").value = c;
}

function Avg() {
  count = count + 1
  var d = document.getElementById("sTotal");
  var A = x1 + x2 / count;
  var av = document.getElementById("cAvg");
  av.innerHTML = A;
  document.getElementById("myimg").onclick = Avg() {
    document.getElementById("myimg").style.visibility = "visible";
  }
}

window.onload = start;
image

Ответы [ 3 ]

0 голосов
/ 18 апреля 2020

Проблемы, которые я смог найти

  1. Вы использовали формат .onlick = namedFunction() { ... }, что неверно. Замените имя функции на ключевое слово function.
  2. Ваш HTML вызывает функцию Add() с заглавной буквы, но функция определяется как add().
  3. Вы пытаетесь изменить value элемента span, но только элементы input могут иметь значения. Вместо этого вам нужно свойство innerText.


Другие сделанные мной правки

  1. Функция Avg() никогда не используется, поэтому я вставьте его в комментарий javascript.
  2. При поиске ошибок всегда полезно минимизировать код, поэтому я удалил такие теги, как body, html или head, которые не нужны чтобы воспроизвести проблему.
  3. В целях создания фрагмента кода я выделил HTML и javascript. Тем не менее, я бы порекомендовал сделать это на реальном сайте.


Фрагмент рабочего кода

var count = 0;

function start() {
  var i = document.getElementById("computeAvg");
  i.addEventListener("click", add, false);
}

function add() {
  var a, b, c;
  a = Number(document.getElementById("quiz1").value);
  b = Number(document.getElementById("quiz2").value);
  c = a + b;
  document.getElementById("sTotal").innerText = c;
}

/*function Avg() {
  count = count + 1
  var d = document.getElementById("sTotal");
  var A = x1 + x2 / count;
  var av = document.getElementById("cAvg");
  av.innerHTML = A;
  document.getElementById("myimg").onclick = function() {
    document.getElementById("myimg").style.visibility = "visible";
  }
}*/

window.onload = start;
image
0 голосов
/ 18 апреля 2020
image
0 голосов
/ 18 апреля 2020

Есть несколько ошибок, основные из которых:

  • в функции add Вы должны использовать document.getElementById("sTotal").innerHTML = c; вместо value, поскольку span не имеет value.

  • и Add() и add() разные имена, в то время как add определено Add не является.

  • в document.getElementById("myimg").onclick = Avg() { вы забыли о function, которые вызывают синтаксическую ошибку.

var count = 0;

function start() {
  var i = document.getElementById("computeAvg");
  i.addEventListener("click", add, false);
}


function add() {
  var a, b, c;
  debugger
  a = Number(document.getElementById("quiz1").value);
  b = Number(document.getElementById("quiz2").value);
  c = a + b;
  document.getElementById("sTotal").innerHTML = c;
}


function Avg() {
  count = count + 1
  var d = document.getElementById("sTotal");
  var A = x1 + x2 / count;
  var av = document.getElementById("cAvg");
  av.innerHTML = A;
  
  document.getElementById("myimg").onclick = function Avg() {
    document.getElementById("myimg").style.visibility = "visible";
  }
}


window.onload = start;
image
...