Показать сообщение отдельно
  #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.
Ответить с цитированием