Показать сообщение отдельно
  #13 (permalink)  
Старый 21.10.2013, 20:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

coloboque,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>

<form id="form" name="form">

    <input id="vis" type="text" value="2300" /> высота, в мм

    <br/>

    <input id="shir" type="text" value="3800" /> ширина, в мм

    <br/>

    <b>Наполнение:</b>

    <br/>

    <select id="fill">

        <option>Выбрать</option>

        <option value="1300">Стекло</option>

        <option value="1500">Зеркало </option>

        <option value="1400">Ротанг</option>

        <option value="1400">ДСП</option>

    </select><br/>
    <div>Рекомендованное количество дверей: <span id="recdver">0</span> шт.</div>

          <div>Минимальное количество дверей: <span id="mindver">0</span> шт.</div>




    <b>Кол-во дверей:</b>

    <br/>

    <select id="dveri">

<option value="0">Выбрать</option>

<option id="2dveri" value="2">2</option>
<option id="3dveri" value="3">3</option>
<option id="4dveri" value="4">4</option>
<option id="5dveri" value="5">5</option>
<option id="6dveri" value="6">6</option>
<option id="7dveri" value="7">7</option>
<option id="8dveri" value="8">8</option>


    </select>
    <div>Ширина 1ой двери: <span id="sh1dver">0</span> мм.</div>

    <br/>

    <input type="checkbox" value="1000" id="dost" />

    <label for="dost">Требуется доставка?</label>

    <br/>

    <input type="checkbox" value="700" id="ust" />

    <label for="ust">Требуется установка?</label>

    <br/>

    <input type="checkbox" value="1350" id="ris" />

    <label for="ris">Нанесение пескоструйных рисунков</label>



    <div>Примерная стоимость дверей: <span id="result">0</span> руб.</div>

</form>

<script>

document.body.onload = function() {

    function calc() {

        var d = document, profil = risunok = ustanovka = dostavka = 0;

        var vis = +d.getElementById("vis").value,

        shir = +d.getElementById("shir").value,

        dveri = d.getElementById("dveri"),

        fill = d.getElementById("fill"),

        dost = d.getElementById("dost"),

        ust = d.getElementById("ust"),

        ris = d.getElementById("ris"),

        result = d.getElementById("result"),

       recvder = d.getElementById("recvder");
        mindver = d.getElementById("mindver");
                sh1dver = d.getElementById("sh1dver");



        if (vis > 2600) {alert('К сожалению, мы производим двери высотой только до 2600мм! Введите другое значение')
};

        if (shir < 600) {alert('Шкаф слишком узкий!')
};

var rec;
rec = Math.ceil(shir/800);

var mindveri;
mindveri = Math.ceil(shir/1200);





        if(mindveri >= 3) {

            if(dveri.options[dveri.selectedIndex].value == '2') {dveri.options[2].selected = true;}

            d.getElementById('2dveri').disabled = true;

       						}
       	else d.getElementById('2dveri').disabled = false;


            if(mindveri >= 4) {

            if(dveri.options[dveri.selectedIndex].value == '3') {dveri.options[3].selected = true;}

            d.getElementById('3dveri').disabled = true;

       						}
       	else d.getElementById('3dveri').disabled = false;


       if(mindveri >= 5) {

            if(dveri.options[dveri.selectedIndex].value == '4') {dveri.options[4].selected = true;}

            d.getElementById('4dveri').disabled = true;

       						}
       	else d.getElementById('4dveri').disabled = false;





        if(fill.selectedIndex == 3 || fill.selectedIndex == 4) {

            ris.checked = false;

            ris.disabled = true;

        } else {

            ris.disabled = false;

        };



        var sq = shir * vis / 1000000,

        cdveri = +dveri.value||mindveri;

        var shirdver;
 		shirdver =  Math.ceil(shir/cdveri);

        if (shirdver <= 600) profil = 2472 * cdveri;

        else if (shirdver <= 800) profil = 2666 * cdveri;

        else if (shirdver <= 1200) profil = 3053.5 * cdveri;

        if (ust.checked) ustanovka = +ust.value * cdveri;

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

        if (ris.checked) risunok = +ris.value * cdveri;
        recdver.innerHTML = rec;
        mindver.innerHTML = mindveri;
		sh1dver.innerHTML = shirdver;
        result.innerHTML = Math.ceil(sq +(+fill.value||0) + profil + dostavka + ustanovka + risunok );

    };


    document.form.onchange = calc;

    calc();

}

</script>

</body>

</html>
Ответить с цитированием