Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2015, 23:57
Интересующийся
Отправить личное сообщение для Георгий М. Посмотреть профиль Найти все сообщения от Георгий М.
 
Регистрация: 24.09.2015
Сообщений: 13

Добавления в калькулятор дополнительного условия
Добрый день.
У меня возникла следующая проблема, я написал калькулятор который работает в IE, Opera, chrome и т.д. Прошу обратить внимание на следующий элемент площадь SQ, которая равна произведению длины dlin1 в мм на ширину shir1 в ММ
document.body.onload = function() {
 
    function calc1() {
        var d = document, price = tolshi = dostavka = ustanovka = bortik = moika = 0;
        shir1 = +d.getElementById("shir").value,
	dlin1 = +d.getElementById("dlin").value,
        
	sq = (shir1 * dlin1 / 1000000),
        color1 = d.getElementById("color1"),

        color2 = d.getElementById("color2"),

        color3 = d.getElementById("color3"),

        color4 = d.getElementById("color4"),
		
	tolsh1 = d.getElementById("tolsh1"),

        tolsh2 = d.getElementById("tolsh2"),

        tolsh3 = d.getElementById("tolsh3"),

        tolsh4 = d.getElementById("tolsh4"),

        bort1 = d.getElementById("bort1"),

        bort2 = d.getElementById("bort2"),
        
	dost = d.getElementById("dost"), 

	ust = d.getElementById("ust"),
	
	moi = d.getElementById("moi"),

        result = d.getElementById("result"),

        kol = d.getElementById("kol");

        if (color1.checked) price = +color1.value;

        if (color2.checked) price = +color2.value;

        if (color3.checked) price = +color3.value;

        if (color4.checked) price = +color4.value;
		
	if (tolsh1.checked) tolshi = +tolsh1.value;

        if (tolsh2.checked) tolshi = +tolsh2.value;

        if (tolsh3.checked) tolshi = +tolsh3.value;

        if (tolsh4.checked) tolshi = +tolsh4.value;

	if (bort1.checked) bortik = +bort1.value;

	if (bort2.checked) bortik = +bort2.value;
        
	if (dost.checked) dostavka = +dost.value;

        if (ust.checked) ustanovka = +ust.value 

	if (moi.checked) moika = +moi.value

        result.innerHTML = Math.round(sq * (price + tolshi) + dostavka + ustanovka + moika +bortik* dlin1/1000);

    };

    document.form.onclick = calc1;

    calc1();

}
</script>


Однако позже понял, что если длина * ширину меньше метра квадратного, то площадь SQ все равно должна быть равна одному квадратному метру, поэтому я добавил аргумент SQUARE

<script>

document.body.onload = function() {
 
    function calc1() {
        var d = document, square = price = tolshi = dostavka = ustanovka = bortik = moika = 0;
        shir1 = +d.getElementById("shir").value,
	dlin1 = +d.getElementById("dlin").value,
        
	sq = (shir1 * dlin1 / 1000000),
        color1 = d.getElementById("color1"),

        color2 = d.getElementById("color2"),

        color3 = d.getElementById("color3"),

        color4 = d.getElementById("color4"),
		
	tolsh1 = d.getElementById("tolsh1"),

        tolsh2 = d.getElementById("tolsh2"),

        tolsh3 = d.getElementById("tolsh3"),

        tolsh4 = d.getElementById("tolsh4"),

        bort1 = d.getElementById("bort1"),

        bort2 = d.getElementById("bort2"),
        
	dost = d.getElementById("dost"), 

	ust = d.getElementById("ust"),
	
	moi = d.getElementById("moi"),

        result = d.getElementById("result"),

        kol = d.getElementById("kol");


	if (sq <= 1) square = 1;

        else if (sq => 1) square = sq;

        if (color1.checked) price = +color1.value;

        if (color2.checked) price = +color2.value;

        if (color3.checked) price = +color3.value;

        if (color4.checked) price = +color4.value;
		
	if (tolsh1.checked) tolshi = +tolsh1.value;

        if (tolsh2.checked) tolshi = +tolsh2.value;

        if (tolsh3.checked) tolshi = +tolsh3.value;

        if (tolsh4.checked) tolshi = +tolsh4.value;

	if (bort1.checked) bortik = +bort1.value;

	if (bort2.checked) bortik = +bort2.value;
        
	if (dost.checked) dostavka = +dost.value;

        if (ust.checked) ustanovka = +ust.value 

	if (moi.checked) moika = +moi.value

        result.innerHTML = Math.round(square * (price + tolshi) + dostavka + ustanovka + moika +bortik* dlin1/1000);

    };

    document.form.onclick = calc1;

    calc1();

}
</script>


И он отказывается работать в IE, однако в Хроме работает.
Уважаемые форумчане, может у вас будут предложения как более корректно прописать то, что если dlin1*shir1/1000000 меньше метра, то площадь все равно будет равна единице.
Заранее благодарю.

Последний раз редактировалось Георгий М., 15.10.2015 в 00:01.
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2015, 09:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Георгий М.
как более корректно прописать
Для начала почитать про циклы и начать их использовать.
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2015, 10:41
Интересующийся
Отправить личное сообщение для Георгий М. Посмотреть профиль Найти все сообщения от Георгий М.
 
Регистрация: 24.09.2015
Сообщений: 13

Уважаемый ksa,
Не могли бы вы более подробно написать про циклы? И зачем их использовать в калькуляторе?
Признаюсь я абсолютный профан в этом деле.
Спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2015, 10:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Георгий М.
Не могли бы вы более подробно написать про циклы?
Достаточно подробно про них написано в любой книжке...
http://javascript.ru/for
Сообщение от Георгий М.
зачем их использовать в калькуляторе?
Для сокращения и понятности кода.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор услуг tarantino Javascript под браузер 1 30.07.2015 00:21
калькулятор на javascript vera0907 Events/DOM/Window 7 24.03.2015 15:12
Не работает Калькулятор просчета отопления igor700 Общие вопросы Javascript 5 26.02.2014 16:18
Калькулятор стоимости Batyabest Events/DOM/Window 10 26.11.2013 14:31
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46