Показать сообщение отдельно
Непрочитано 22.11.2015, 18:05   #11
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Привел к нужному виду

PHP код:
<script src="http://code.jquery.com/jquery-latest.js";></script>
    <SCRIPT>
$(document).ready(function () {
$.ajax({
    url: 'cb.xml',
    dataType: 'xml'
}).done(function (xml) {
    $(xml).find('Valute').each(function () {
        if ($(this).attr('ID') == 'R01239') {
            var currency = parseFloat($(this).find('Value')
                    .text().replace(',', '.'));
            var price = parseFloat($('#Euro').val());

            $('p').append(price * currency);
        }
    });
});
function calc1() {


        var Li = new Number(list.Li.value);

        var Si = new Number(list.Si.value);

        var Ti = new Number(list.Ti.value);

        var Cf = new Number(list.Cf.value);

        var Cb = new Number(list.Cb.value);

        var F = new Number(list.F.checked);

        var B = new Number(list.B.checked);

        var Pf = new Number(list.Pf.checked);

        var N = new Number(list.N.checked);

        var V = new Number(list.V.checked);

        var Lg = new Number(list.Lg.checked);

        var Lm = new Number(list.Lm.checked);



        if (Li.toString() ==  "NaN" || Li <= 0) {

            alert('Введено неверное значение формата!');

            list.Li.focus();

            return false;

        }

        if (Si.toString() ==  "NaN" || Si <= 0) {

            alert('Введено неверное значение формата!');

            list.Si.focus();

            return false;

        }

        if ( (Li < 20 || Li > 430) || (Si < 20 || Si > 430) ) {

            alert('Формат задается в пределах от 20 до 430!');

            return false;

        }

        if (Ti.toString() ==  "NaN" || Ti <= 0) {

            alert('Введено неверное значение тиража!');

            list.Ti.focus();

            return false;

        }

        else {

            Nil1 = Math.floor(438/ (Li + 1) );

            Nis1 = Math.floor(306/ (Si + 1) );

            Ni1 = Nil1 * Nis1;

            Nil2 = Math.floor(438/ (Si + 1) );

            Nis2 = Math.floor(306/ (Li + 1) );

            Ni2 = Nil2*Nis2;

            Ni = Math.max(Ni1,Ni2);

            Na3 = Ti / Ni;

            Rb = list.RbK.value.substring(0, list.RbK.value.indexOf('_'));

            K = list.RbK.value.substring(list.RbK.value.indexOf('_')+1);

            Phs = Math.floor(0.999+(Na3*Rb/70));

            if ( Ni1 > Ni2 ) {

            Prz=(6+(Nil1-1)+(Nis1-1))*0.37*Phs;

            }

            else {

            Prz=(6+(Nil2-1)+(Nis2-1))*0.37*Phs;

            }

            Pbum=(0.6 * Rb * K *( Na3 + 100))/4;

            if (!(Cf-Cb)  && ((Li<310 && Si<=240) || (Li<=310 && Si<240) || (Si<310 && Li<=240) || (Si<=310 && Li<240))) {

                Pl =  1.5*(Cf+Cb);

                Ppec = 2*(Cf+Cb)+(Cf+Cb)*(10.0+0.0033*Na3);

            }

            else {

                Pl = 3*(Cf+Cb);

                Ppec = 2*(Cf+Cb)+(Cf+Cb)*(20+0.0033*Na3);

            }

            //alert(Ppec);

                        Potd = Pl + F*(0.0022*Ti+500) + B * (20 + Na3 * 0.01) + Pf * Na3 * 0.01 +  V*(Na3 * 0.05)+N*(30+Ti*0.003) + Lg * Na3 * 0.25 + Lm * Na3 * 0.5 + Prz;

            //Общая стоимость тиража

            S = (Pbum + Ppec + Potd)*Euro;

            S1 = S / list.Ti.value;

            S = S.toString().substring(0,S.toString().indexOf(".")+3);

            S1 = S1.toString().substring(0,S1.toString().indexOf(".")+3);

            list.result.value = "Общая стоимость тиража = " + S + " руб.\nСтоимость 1 экземпляра = " + S1 + " руб.";

            return true;

        }

    }

function format(dx,dy){

        document.list.Si.value = dx;

        document.list.Li.value = dy;

            }

</SCRIPT> 
Работать не начал
Antonio вне форума Ответить с цитированием