Добрый день.
У меня возникла следующая проблема, я написал калькулятор который работает в 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 меньше метра, то площадь все равно будет равна единице.
Заранее благодарю.