Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2017, 08:14
Новичок на форуме
Отправить личное сообщение для Mikhail-lex Посмотреть профиль Найти все сообщения от Mikhail-lex
 
Регистрация: 26.08.2017
Сообщений: 4

Помогите пожалуйста ,есть проблема с кодом
Собрался сделать калькулятор для сайта провайдера ,но он не работает, помогите решить проблему пожалуйста
[JS]
<script>
function calc() {
            
            var type_design = document.getElementById("type_design");
            var is_html = document.getElementById("is_html");
            var is_html1 = document.getElementById("is_html1");
            var is_html2 = document.getElementById("is_html2");
            var is_html3 = document.getElementById("is_html3");
            var month3 = document.getElementById("month3");
            var month6 = document.getElementById("month6");
            var month12 = document.getElementById("month12");
            var result = document.getElementById("result"); 
 
            var price = 0;
            price += parseInt(type_design.options[type_design.selectedIndex].value);
            price += (is_html.checked == true) ? parseInt(is_html.value) : 0;
            price += (is_html1.checked == true) ? parseInt(is_html1.value) : 0;
            price += (is_html2.checked == true) ? parseInt(is_html2.value) : 0;
            price += (is_html3.checked == true) ? parseInt(is_html3.value) : 0;

            price *= (month3.checked == true) ? parseInt(month3.value) : 0;
            price *= (month6.checked == true) ? parseInt(month6.value) : 0;
            price *= (month12.checked == true) ? parseInt(month12.value) : 0;

            result.innerHTML = price;
        }
 </script>       
[/JS]
    </head>
    <body>
        <b>Калькулятор цен</b><br/>
        <select onchange="calc()" id="type_design">
            <option value="0" selected>Выберите тариф</option>
            <option value="900">Тариф1</option>
            <option value="1200">Тариф2</option>
            <option value="1900">Тариф3</option>
        </select><br/>
        <label for="is_html">
        <input type="radio" onchange="calc()" name="first" value="0" id="is_html" checked="checked"/>
        Без опций</label>
        <br/>
        <label for="is_html1">
        <input type="radio" onchange="calc()" name="first" value="100" id="is_html1" /> Пакет 1</label>
        <br/>
        <label for="is_html2">
        <input type="radio" onchange="calc()" name="first" value="175" id="is_html2" />
        Пакет 2</label>
        <br/>
        <label for="is_html3">
        <input type="radio" onchange="calc()" name="first" value="250" id="is_html3" />
        Пакет 3</label>
        <br/>
        <label for="month1">
        <input type="radio" onchange="calc()" name="month_col" value="1" id="month1" checked="checked"/>
        1 Месяц</label>
        <br/>
        <label for="month3">
        <input type="radio" onchange="calc()" name="month_col" value="3" id="month3"/>
        3 Месяца</label>
        <br/>
        <label for="month6">
        <input type="radio" onchange="calc()" name="month_col" value="6" id="month6"/>
        6 Месяцев</label>
        <br/>
        <label for="month12">
        <input type="radio" onchange="calc()" name="month_col" value="12" id="month12"/>
        12 Месяцев</label>
        <br/>
        <div>Стоимость: <span id="result">0</span> руб.</div>
    </body>
Ответить с цитированием
  #2 (permalink)  
Старый 26.08.2017, 09:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Mikhail-lex,
не умножайте результат на ноль , строки 22-23, заменить ноль на 1
и строка 16 на вский случай проще так
price += parseInt(type_design.value);
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2017, 10:54
Новичок на форуме
Отправить личное сообщение для Mikhail-lex Посмотреть профиль Найти все сообщения от Mikhail-lex
 
Регистрация: 26.08.2017
Сообщений: 4

Большое Спасибо за ответ , очень помог и решил проблему , но если умножение надо провести вычитание числового значения из полученного результата ( это скидка при единовременной оплате за несколько месяцев ), не подскажете как ее воплотить в коде .... Заранее спасибо за ответ
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2017, 11:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Mikhail-lex,
price *= (ВАША_СКИДКА== true) ? .8 : 1;//скидка 20%
Ответить с цитированием
  #5 (permalink)  
Старый 26.08.2017, 11:45
Новичок на форуме
Отправить личное сообщение для Mikhail-lex Посмотреть профиль Найти все сообщения от Mikhail-lex
 
Регистрация: 26.08.2017
Сообщений: 4

А можно ответ как для полного чайника , например куском моего кода или я что то не так озвучил
Вот что мне надо , например : price *= (month3.checked == true) ? parseInt(month3.value) : 1;
по завершению умножения , от полученного результата будет вычитаться например число 155 , то есть при нажатии на радио кнопку будет происходить и умножение и в последствии вычитание .
Подскажите как это сделать в коде ....
Число которое будет вычитаться указывается только в скрипте
Ответить с цитированием
  #6 (permalink)  
Старый 26.08.2017, 11:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Mikhail-lex,
не понимаю, надо вычитать вычитайте
price -= (month3.checked == true) ? parseInt(month3.value) : 0;
Ответить с цитированием
  #7 (permalink)  
Старый 26.08.2017, 12:33
Новичок на форуме
Отправить личное сообщение для Mikhail-lex Посмотреть профиль Найти все сообщения от Mikhail-lex
 
Регистрация: 26.08.2017
Сообщений: 4

Еще раз Большое спасибо за ответ , не совсем то что хотелось и имелось в виду заданного вопроса , но вы дали мне за что зацепится для решения проблемы и благодаря вам у меня все получилось ...
Еще раз спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с маленьким кодом document.getElementById vasyok28 Events/DOM/Window 10 24.08.2014 21:25
Слайдер - карусель блоков (помогите пожалуйста) Viktor.Poberezhniy Общие вопросы Javascript 3 22.07.2014 12:46
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
проблема со слайд шоу, помогите пожалуйста. Ketch_Ozzy Общие вопросы Javascript 5 15.05.2009 23:34