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

Не работает калькулятор

02.04.2018, 01:36. Показов 888. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Калькулятор содержит поля

Вид изделия (свитч)
Количество изделий
Размер изображения (свитч)
Количество цветов

Итого

Кнопка Рассчитать

JavaScript
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
var A51 = [254,193,143,104,73,46,44,35,29,26];
var A52 = [377,264,200,129,84,53,51,43,31,29];
var A53 = [497,334,247,164,92,59,56,46,34,31];
var A54 = [607,399,293,182,125,75,62,51,37,34];
var A55 = [692,459,340,209,140,85,73,63,47,43];
var A56 = [792,509,377,235,155,90,77,68,50,47];
var A41 = [300,215,173,124,77,50,44,35,29,26];
var A42 = [430,295,225,151,88,57,51,42,31,29];
var A43 = [555,370,282,175,98,65,57,47,34,31];
var A44 = [665,440,328,209,119,74,62,50,37,33];
var A45 = [775,495,375,229,133,87,71,60,45,41];
var A46 = [865,545,422,249,145,94,77,66,48,45];
var A31 = [330,241,183,140,95,66,66,57,45,42];
var A32 = [460,323,240,172,108,74,75,67,51,48];
var A33 = [590,383,302,197,121,85,84,75,54,51];
var A34 = [710,473,353,223,151,94,90,81,59,54];
var A35 = [825,518,400,257,181,143,103,92,65,60];
var A36 = [940,588,447,287,196,122,115,98,70,66];
var A21 = [360,275,213,174,127,94,92,77,71,42];
var A22 = [500,360,280,194,138,104,104,87,77,48];
var A23 = [640,440,342,239,153,115,115,99,84,51];
var A24 = [765,520,403,259,181,136,124,111,91,54];
var A25 = [880,590,460,289,208,157,134,120,98,60];
var A26 = [1010,660,517,324,222,173,145,130,106,66];
 
var futbolkipromo = 160;
var futbolkiclas = 180;
var tolstovki = 870;
var svitshoti = 680;
var izdzak = 0;
 
var z = 0;
if (sq >=0 && sq < 19){
    z = 0;   
}
if (sq >=20 && sq < 29){
    z = 1;   
}
 if (sq >=30 && sq < 49){
    z = 2;   
}
if (sq >=50 && sq < 99){
    z = 3;   
}
if (sq >=100 && sq < 199){
    z = 4;   
}
if (sq >=200 && sq < 299){
    z = 5;   
}
if (sq >=300 && sq < 499){
    z = 6;   
}
if (sq >=500 && sq < 999){
    z = 7;   
}
if (sq >=1000 && sq < 1999){
    z = 8;   
}
if (sq >= 2000){
    z = 9;   
}
 
var A5 = [A51[z],A52[z],A53[z],A54[z],A55[z],A56[z]];
var A4 = [A41[z],A42[z],A43[z],A44[z],A45[z],A46[z]];
var A3 = [A31[z],A32[z],A33[z],A34[z],A35[z],A36[z]];
var A2 = [A21[z],A22[z],A23[z],A24[z],A25[z],A26[z]];
 
var y = 0;
if (sqc == 1){
    y = 0;   
}
if (sq == 2){
    y = 1;   
}
 if (sq == 3){
    y = 2;   
}
if (sq == 4){
    y = 3;   
}
if (sq == 5){
    y = 4;   
}
if (sq == 6){
    y = 5;   
}
 
var sum = 0.0;
            
switch (producer){
    case 0: sum += (futbolkipromo*sq);  break;
    case 1: sum += (futbolkiclas*sq); break;
    case 2: sum += (tolstovki*sq); break;
    case 3: sum += (svitshoti*sq); break;
    case 4: sum += (izdzak*sq); break;
        
}    
 
switch (producer1){
    case 0: sum += (A5[y]*sq); break;
    case 2: sum += (A4[y]*sq); break;
    case 3: sum += (A3[y]*sq); break;
    case 4: sum += (A2[y]*sq); break;
}
 
result = sum;
при запуске форма молчит..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2018, 01:36
Ответы с готовыми решениями:

Калькулятор не работает
&lt;html&gt; &lt;head&gt; &lt;script type = 'text/javascript'&gt; var fn,sn,op; function arr(){ var b =...

Не работает калькулятор
Постигаю азы программирования, решил написать калькулятор и столкнулся с проблемой - он просто не работает) подскажите в чем ошибка. Вот...

Не работает калькулятор
Делаю калькулятор, но он делает только сложение и закрывается после того как написал ответ. #include &quot;pch.h&quot;; #include...

4
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
02.04.2018, 09:23
TenjiTenno, где sq определяется ?
0
0 / 0 / 0
Регистрация: 22.03.2016
Сообщений: 3
02.04.2018, 09:42  [ТС]
Это поле ввода количества изделий
0
0 / 0 / 0
Регистрация: 22.03.2016
Сообщений: 3
06.05.2018, 18:43  [ТС]
В итоге вот что получилось. Может кому пригодиться. Критика приветствуется.

HTML5
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
<div id="formcontainer">
    <form action="#" id="SHcalc">
        <div class="fields"> 
            <div class="field"> 
                <label class  for="producer">Вид изделия:</label>
                    <select name="producer" id=producer type=number value="">
                        <option value=0>Футболки Промо 150 г/м2</option>
                        <option value=1>Футболки Классик 170 г/м2</option>
                        <option value=2>Толстовки</option>
                        <option value=3>Свитшоты</option>
                        <option value=4>Изделия заказчика</option>
            </select>
            </div>
            <div class="field"> 
                <label for="sq">Количество изделий:</label>
                <input min="1" type="text" name="sq" id="sq"></input>
            </div>
            <div class="field"> 
              <label for="producer1">Размер изображения:</label>
              <select name="producer1" id=producer1 type=number value="">
                    <option value=0>A5</option>
                    <option value=1>A4</option>
                    <option value=2>A3</option>
                    <option value=3>A2</option>
                </select>
            </div>
            <div class="field"> 
                <label for="sq1">Количество цветов:</label>
                <select name="sq1" id=sq1 type=number value="">
                 <option value=1>1</option>
                 <option value=2>2</option>
                 <option value=3>3</option>
                 <option value=4>4</option>
                 <option value=5>5</option>
                 <option value=6>6</option>
                </select>
            </div>
 
         </div>
         <div class="done">
            <input type="button" id="butt" value="Рассчитать">
                <p id="res">Итого: <output name="result" id="result"></output> руб.</p>
         </div>
    </form>
</div>
CSS
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
*{
  margin:0 0 0 0;
}
.fields{
    display: block;
  margin:20px 30px 20px 50px;
    font-family: sans-serif;
}
.field{
  display: flex;
  margin-top:5px;
}
label{
  width:200px;
}
select{
  width:173px;
}
.done{
  display:flex;
  margin: 0 20px 50px 50px;
}
#res{
  margin-left:115px;
}
#formcontainer{
    height: 200px;
    width: 470px;
    background: linear-gradient(0deg, #000000, #393939);
    border-radius: 30px;
}
#SHcalc{
    color: #FFFFFF;
  padding-top: 10px;
}
#butt{
  height: 35px;
  width: 195px;
  font-size: 20px;
  margin:0;
  padding:0;
  border: none;
  border-radius: 7px;
  text-transform: uppercase;
  color: #FFFFFF;
  background: linear-gradient(#FFC600, #BF9A2B);
}
#res{
    font-family: sans-serif;
    font-size: 18px;
    margin-left: 22px;
    margin-top: 6px;
}
#result{
    font-size: 20px;
}
JavaScript
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 window.onload=init;
 
    function init(){
        var button=document.getElementById("butt");
        button.onclick=buttonHandler;
    }
    function buttonHandler(){
        var producer = parseInt(document.getElementById("producer").value);
        var sq= parseInt(document.getElementById("sq").value);
        var producer1 = parseInt(document.getElementById("producer1").value);
        var sq1= parseInt(document.getElementById("sq1").value);
        var sum=document.getElementById("result");
        var sas=document.getElementById("result");
        
var A51 = [254,193,143,104,73,46,44,35,29,26];
var A52 = [377,264,200,129,84,53,51,43,31,29];
var A53 = [497,334,247,164,92,59,56,46,34,31];
var A54 = [607,399,293,182,125,75,62,51,37,34];
var A55 = [692,459,340,209,140,85,73,63,47,43];
var A56 = [792,509,377,235,155,90,77,68,50,47];
var A41 = [300,215,173,124,77,50,44,35,29,26];
var A42 = [430,295,225,151,88,57,51,42,31,29];
var A43 = [555,370,282,175,98,65,57,47,34,31];
var A44 = [665,440,328,209,119,74,62,50,37,33];
var A45 = [775,495,375,229,133,87,71,60,45,41];
var A46 = [865,545,422,249,145,94,77,66,48,45];
var A31 = [330,241,183,140,95,66,66,57,45,42];
var A32 = [460,323,240,172,108,74,75,67,51,48];
var A33 = [590,383,302,197,121,85,84,75,54,51];
var A34 = [710,473,353,223,151,94,90,81,59,54];
var A35 = [825,518,400,257,181,143,103,92,65,60];
var A36 = [940,588,447,287,196,122,115,98,70,66];
var A21 = [360,275,213,174,127,94,92,77,71,42];
var A22 = [500,360,280,194,138,104,104,87,77,48];
var A23 = [640,440,342,239,153,115,115,99,84,51];
var A24 = [765,520,403,259,181,136,124,111,91,54];
var A25 = [880,590,460,289,208,157,134,120,98,60];
var A26 = [1010,660,517,324,222,173,145,130,106,66];    
 
      var futbolkipromo = 160;
      var futbolkiclas = 180;
      var tolstovki = 870;
      var svitshoti = 680;
      var izdzak = 0;
 
var z = 0;
 
if (sq >=0 && sq < 19){
    z = 0;   
}
if (sq >=20 && sq < 29){
    z = 1;   
}
 if (sq >=30 && sq < 49){
    z = 2;   
}
if (sq >=50 && sq < 99){
    z = 3;   
}
if (sq >=100 && sq < 199){
    z = 4;   
}
if (sq >=200 && sq < 299){
    z = 5;   
}
if (sq >=300 && sq < 499){
    z = 6;   
}
if (sq >=500 && sq < 999){
    z = 7;   
}
if (sq >=1000 && sq < 1999){
    z = 8;   
}
if (sq >= 2000){
    z = 9;   
} 
 
      var A5 = [A51[z],A52[z],A53[z],A54[z],A55[z],A56[z]];
      var A4 = [A41[z],A42[z],A43[z],A44[z],A45[z],A46[z]];
      var A3 = [A31[z],A32[z],A33[z],A34[z],A35[z],A36[z]];
      var A2 = [A21[z],A22[z],A23[z],A24[z],A25[z],A26[z]];
 
var y = 0;
if (sq1 == 1){
    y = 0;   
}
if (sq1 == 2){
    y = 1;   
}
 if (sq1 == 3){
    y = 2;   
}
if (sq1 == 4){
    y = 3;   
}
if (sq1 == 5){
    y = 4;   
}
if (sq1 == 6){
    y = 5;   
}
 
      sas=0;
      switch (producer){
        case 0: sas += (futbolkipromo*sq);  break;
          case 1: sas += (futbolkiclas*sq); break;
          case 2: sas += (tolstovki*sq); break;
          case 3: sas += (svitshoti*sq); break;
          case 4: sas += (izdzak*sq); break;       
}    
      switch (producer1){
        case 0: sas += (A5[y]*sq); break;
        case 1: sas += (A4[y]*sq); break;
          case 2: sas += (A3[y]*sq); break;
          case 3: sas += (A2[y]*sq); break;
}
        sum.innerHTML=sas;
      
}
0
23 / 16 / 7
Регистрация: 17.10.2012
Сообщений: 74
07.05.2018, 11:01
TenjiTenno, лучше вынесите определения переменных, которые в самом верху buttonHandler в самый вверх.
Сейчас у Вас при каждом нажатии на кнопку определяются много переменных, которые можно определить лишь однажды.
Например, вот так:
JavaScript
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
var sum=document.getElementById("result");
var sas=document.getElementById("result");
        
var A51 = [254,193,143,104,73,46,44,35,29,26];
var A52 = [377,264,200,129,84,53,51,43,31,29];
var A53 = [497,334,247,164,92,59,56,46,34,31];
var A54 = [607,399,293,182,125,75,62,51,37,34];
var A55 = [692,459,340,209,140,85,73,63,47,43];
var A56 = [792,509,377,235,155,90,77,68,50,47];
var A41 = [300,215,173,124,77,50,44,35,29,26];
var A42 = [430,295,225,151,88,57,51,42,31,29];
var A43 = [555,370,282,175,98,65,57,47,34,31];
var A44 = [665,440,328,209,119,74,62,50,37,33];
var A45 = [775,495,375,229,133,87,71,60,45,41];
var A46 = [865,545,422,249,145,94,77,66,48,45];
var A31 = [330,241,183,140,95,66,66,57,45,42];
var A32 = [460,323,240,172,108,74,75,67,51,48];
var A33 = [590,383,302,197,121,85,84,75,54,51];
var A34 = [710,473,353,223,151,94,90,81,59,54];
var A35 = [825,518,400,257,181,143,103,92,65,60];
var A36 = [940,588,447,287,196,122,115,98,70,66];
var A21 = [360,275,213,174,127,94,92,77,71,42];
var A22 = [500,360,280,194,138,104,104,87,77,48];
var A23 = [640,440,342,239,153,115,115,99,84,51];
var A24 = [765,520,403,259,181,136,124,111,91,54];
var A25 = [880,590,460,289,208,157,134,120,98,60];
var A26 = [1010,660,517,324,222,173,145,130,106,66];    
 
var futbolkipromo = 160;
var futbolkiclas = 180;
var tolstovki = 870;
var svitshoti = 680;
var izdzak = 0;
 
window.onload=init;
И еще Вы определяете var sas=document.getElementById("result"); , не исопльзуете нигде это значение, затем переопределяете sas = 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2018, 11:01
Помогаю со студенческими работами здесь

Не работает калькулятор
Помогите пожалуйста найти ошибку.

Калькулятор не работает
Деление не работает. Как очистить textBox1. Кнопка clear не возвращает переменные false;, Плюс, Умножение запутывается местами после...

Не работает калькулятор
Вот код &quot;калькулятора&quot;. Calculator.java package ggcalc; import java.awt.event.ActionListener; import...

Калькулятор не работает
Всем привет, пишу в первый раз. Знаю темы про калькулятор были, но не нашел того, что мне надо. Вот код. У меня выбивает ошибку. Можете...

Не работает калькулятор
Помогите пожалуйста с калькулятором. Существуют два файла index.php и functions.php код functions.php function addition($arg1,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru