Проблемы JavaScript с калькулятором

У меня небольшая проблема ... если я запускаю свой скрипт в html, все работает нормально, но если я добавляю числа на столбцы, которые я сделал, и нажимаю кнопку равенства, ничего не происходит. Я не знаю в чем проблема

вот мой код

<!DOCTYPE html>


<html>
  <head>
    <title>Kalkulaator</title>
    <meta charset = "windows-1252">
    <meta name = "viewport" content = "width=device-width, initial-scale1.0">

    <script>

      function calc()
      {
         var number1 = parseInt(document.getElementById('number1').value);
         var number2 = parseInt(document.getElementById('number2').value);
         var oper = document.getElementById('operaatorid').value;

         if (oper === '+')
         {
              document.getElementById('tulemus').value = number1+number2;
         }


     </script>


     </head>
     <body>

        <input type = "text" id = "number1"/><br/><br/>
        <input type = "text" id = "number2"/><br/><br/>

        <select id = "operaatorid">
            <option value= = "+">+</option>
        </select>

        <button onclick = "calc();">=</button>
        <input type = "text" id = "tulemus"/>

     </body
 </html>
<option value= = "+">+</option> дополнительный = после value и отсутствующий последний } в функции.
Alex K. 15.03.2018 18:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
69
1

Ответы 1

Как сказал Алекс К. в своем комментарии, у вас есть несколько проблем с вашим кодом.

У вас есть два одинаковых символа (=) на вашем <option>, а в вашей функции Javascript отсутствует закрывающая скобка (}).

Это исправленный фрагмент:

function calc() {
  var number1 = parseInt(document.getElementById('number1').value);
  var number2 = parseInt(document.getElementById('number2').value);
  var oper = document.getElementById('operaatorid').value;

  if (oper === '+') {
    document.getElementById('tulemus').value = number1 + number2;
  }
}
<input type = "text" id = "number1" /><br/><br/>
<input type = "text" id = "number2" /><br/><br/>

<select id = "operaatorid">
    <option value = "+">+</option>
</select>

<button onclick = "calc();">=</button>
<input type = "text" id = "tulemus" />

Кроме того, в HTML5 вам не нужно закрывать теги ввода, поэтому вы можете просто установить <input type = "text">.

Вы случайно не знаете, как добавить скрипт, который сохраняет предыдущие вычисления, которые я сделал, как если бы я делал 4 + 4 = 8, а затем у него есть поле, в котором говорится, что предыдущий расчет был 4 + 4 = 8

Eero Jyrgenson 15.03.2018 19:26

Другие вопросы по теме