Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.04.2018
Сообщений: 1
1

Не работает динамическое изменение объекта

15.04.2018, 20:35. Показов 766. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Вот создал типа калькулятор с динамикой. А не работает. Помогите мне найти ошибку.

Вот код:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <style>
    input{
                width: 100px;
            }
            #result{
                width: 60px;
                border: 1px solid rgba(0,0,0,0.3);
            }
            .btn{
                width: 100px;
                height: 30px;
                line-height: 30px;
                background: lightgray;
                text-align: center;
                border-radius: 5px;
                margin: 5px;
                box-shadow: 0 0 5px black;
                color: #fff;
                font-size: 18px;
            }
            .btn:hover{
                cursor: pointer;
            }
    </style>
            <div>
            <input type="text" id="firstNumber" placeholder="Введите число">
            <select name="" id="select">
                <option value="+">+</option>
                <option value="-">-</option>
                <option value="/">/</option>
                <option value="*">*</option>
            </select>
            <input type="text" id="secondNumber" placeholder="Введите число">
            <span>=</span>
            <input type="text" disabled id="res">
        </div>
        <div class="btn" onclick="calculate();">Посчитать</div>
           <script>
            function calculate(){
                var result;
                var num1 = document.getElementById('firstNumber').value;
                num1 = parseInt(num1);
                var znak = document.getElementById('select').value;
                znak = parseInt(znak);
                var num2 = document.getElementById('secondNumber').value;
                num2 = parseInt(num2);
                if(znak == '-' ){
                 result = num1 - num2;
                    document.getElementById('res').innerHTML = result;
                }
                else if(znak == '+'){
                    result = num1 + num2;
                    document.getElementById('res').innerHTML = result;
                }
                else if(znak == '*'){
                    result = num1 * num2;
                    document.getElementById('res').innerHTML = result;
                }
                else{
                    result = num1 / num2;
                    document.getElementById('res').innerHTML = result;
                    
                }
            }
        </script>
</body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2018, 20:35
Ответы с готовыми решениями:

Динамическое изменение объекта при изменении параметров
Есть линия - тег &lt;hr&gt;, есть параметры, организованные через теги &lt;input&gt; и &lt;select&gt;, при помощи...

Динамическое изменение значений: getElementById() не работает
хочу сделать чтобы в новостях менялись цены выгружаю через PHP данные в JS вот так &lt;style ...

Динамическое изменение свойств объекта
есть код по клику на кнопку открывается выпадающее меню css .sub-menu { padding:5px 0 5px...

Динамическое изменение положения объекта
Ребят, как ПРОГРАММНО сделать то, что в делфи 7 делается так: ПКМ по объекту-управление-переслать...

3
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
16.04.2018, 08:44 2
Цитата Сообщение от ProgramDan Посмотреть сообщение
Javascript
1
2
                var znak = document.getElementById('select').value;
                znak = parseInt(znak);
Зачем вы символ операции пытаетесь привести к целому?
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
16.04.2018, 10:13 3
ProgramDan,
Javascript
1
document.getElementById('res').value = result;
0
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
16.04.2018, 12:21 4
Вариант 1 (короткий, но плохой, eval лучше избегать)
Javascript
1
2
3
4
5
6
7
8
9
function calculate(){
  var num1 = document.getElementById('firstNumber').value;
  num1 = parseInt(num1);
  var num2 = document.getElementById('secondNumber').value;
  num2 = parseInt(num2);
  var znak = document.getElementById('select').value;
            
  document.getElementById('res').value = eval(num1 + znak + num2);            
}
Вариант 2 (адекватный, на базе вашего)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function calculate(){
  var result;
  var num1 = document.getElementById('firstNumber').value;
  num1 = parseInt(num1);
  var num2 = document.getElementById('secondNumber').value;
  num2 = parseInt(num2);
  var znak = document.getElementById('select').value;
  
  if (znak === '+') result = num1 + num2;
  if (znak === '-') result = num1 - num2;
  if (znak === '/') result = num1 / num2;
  if (znak === '*') result = num1 * num2;
            
  document.getElementById('res').value = result;            
}
0
16.04.2018, 12:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2018, 12:21
Помогаю со студенческими работами здесь

Динамическое изменение имени объекта
Господа, возникла необходимость динамической подмены имени графического объекта формы, созданного...

Динамическое изменение типа объекта (для обобщённых типов)
Здравствуйте, проблема в следующем: есть класс с generic: public class Entity { ...

Создание собственного VCL компонента. Динамическое изменение количества колонок в зависимости от размера объекта
Доброго времени суток всем. Решил при создании своего компонента на основе TStringGrid...

Динамическое создание объекта
Всем привет! Заранее извиняюсь за глупый вопрос. Подскажите, пожалуйста, кто знает, как можно...

Динамическое создание объекта
Доброго дня! Подскажите, как создать динамически объект ... например в цикле создаём объект...

динамическое свойство объекта
{ $set: { 'lastTime.property': new Date().toISOString() } } Уважаемые, мне нужно lastTime...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru