Помогите найти ошибку!

Тема в разделе "JavaScript", создана пользователем Elena Ivanenchuk, 16 апр 2015.

  1. Elena Ivanenchuk

    Elena Ivanenchuk

    Регистрация:
    1 апр 2015
    Сообщения:
    4
    Симпатии:
    1
    не считает сумму
    PHP:
    <h2>Расчет стоимости</h2>
    <
    form>
    <
    p id="errort"></p>
    <
    table style="width:100%;" class="calc">
    <
    thead>
    <
    tr>
    <
    td>Наименование</td>
    <
    td>Едизм.</td>
    <
    td>Количество</td>
    <
    td>Стоимостьгрн</td>
    </
    tr>
    </
    thead>
    <
    tbody>
    <
    tr>
    <
    td>Матовыйсатиновый Matfolie (Германия)  2,</td>
    <
    td>м.кв</td>
    <
    td>
    <
    span class="cur">1000000</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it1" class="calc">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Матовыйсатиновый Polyplast (Бельгия)  3,</td>
    <
    td>м.кв</td>
    <
    td>
    <
    span  class="calc">0</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it2" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Матовыйсатиновый Polyplast (Бельгия)  </td>
    <
    td>м.кв</td>
    <
    td>
    <
    span  class="calcp">0</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it3" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Глянцевый LackfoliePongs (Германия)  1,</td>
    <
    td>м.кв</td>
    <
    td>
    <
    span  class="calcp">120</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it4" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Глянцевый LackfoliePongs (Германия)  1,</td>
    <
    td>м.кв</td>
    <
    td>
    <
    span  class="calcp">150</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td><span id="it5" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Глянцевый Polyplast (Бельгия)   3,</td>
    <
    td>м.кв</td>
    <
    td><span  class="calcp">100</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it6" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Глянцевый Polyplast (Бельгия)   </td>
    <
    td>м.кв</td>
    <
    td><span  class="calcp">135</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it7" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Глянцевый Alkor DrakaBarrisol (Франция)  1,2,</td>
    <
    td>м.кв</td>
    <
    td>
    <
    span  class="calcp">210</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it8" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Количество углов </td>
    <
    td>шт</td>
    <
    td>
    <
    span  class="calcp">15</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it9" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Криволинейные участкивнутренний вырез </td>
    <
    td>м.пог</td>
    <
    td><span  class="calcp">80</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it10" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Центровка швацентровка полотна </td>
    <
    td>шт</td>
    <
    td>
    <
    span  class="calcp">10</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it11" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Профиль стеновой пластиковый</td>
    <
    td>м.пог</td>
    <
    td>
    <
    span  class="calcp">14</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it12" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Профиль потолочный </td>
    <
    td>м.пог</td>
    <
    td>
    <
    span  class="calcp">35</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it13" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Вставка декоративная белая</td>
    <
    td>м.пог</td><td>
    <
    span  class="calcp">14</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it14" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Вставка декоративная цветная</td>
    <
    td>м.пог</td>
    <
    td>
    <
    span  class="calcp">30</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it15" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Профиль разделительный со вставкой</td>
    <
    td>м.пог</td>
    <
    td>
    <
    span  class="calcp">165</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it16" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Профиль стеновой алюминиевый</td>
    <
    td>м.пог</td>
    <
    td>
    <
    span  class="calcp">30</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it17" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Крепление под осветитприборыкарниз </td>
    <
    td>шт</td>
    <
    td>
    <
    span  class="calcp">25</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it18" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Обходы трубы </td>
    <
    td>шт</td>
    <
    td>
    <
    span  class="calcp">10</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it19" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Дополнительные работы </td>
    <
    td>к-кт</td>
    <
    td>
    <
    span  class="calcp"></span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it20" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Выезд на замервыезд на монтаж </td>
    <
    td>км</td>
    <
    td>
    <
    span  class="calcp">6</span>
    <
    input type="text" name="quant[]" value>
    </
    td>
    <
    td>
    <
    span id="it21" class="calcpa">0</span>
    </
    td>
    </
    tr>
    <
    tr class="bot"><td colspan="3" style="font-weight:bold;">Общая стоимость</td><td><span id="totprice">0,00</span></td></tr></tbody></table><p style="text-align:right">
    <
    script type="text/javascript">
    $j(document).ready(function($){
     
    Lasted edited by : 16 апр 2015
  2. BrainStorm

    BrainStorm

    Регистрация:
    4 дек 2013
    Сообщения:
    9
    Симпатии:
    0
    А где сам код JavaScript? Я так понимаю в нем нужно найти ошибку.
     
  3. Elena Ivanenchuk

    Elena Ivanenchuk

    Регистрация:
    1 апр 2015
    Сообщения:
    4
    Симпатии:
    1
    Я только начинаю работать в этом направлении, вот что у меня есть, хотя полностью разобраться не могу)
    HTML:
    function checkNum(d){
            d=d.replace(/,/g,'.');
            d=d.replace(new RegExp(" ",'g'),'');
            var t=d.replace('.','');
            var reg=/^\d+$/;
            if (!reg.test(t)) d=0;
            return d*1;
          
        }
        function recalc(){
            var total=spvbm=mkv=spbm=svi=kugl=kuvv=doprab=sum=0;
            $('.calct input').each(function(i){
                var v=checkNum($(this).val());
                $(this).val(v);
                var p=$(this).prev().html();
                p=checkNum(p);
                switch (i) {
                    case 10:
                            var sum=(v*total/10).toFixed(2);
                            $("#it"+(i+1)).html(sum);
                            total+=sum;
                            var spbm=total;
                        break;
                    case 19:
                        $("#it"+(i+1)).html(v);
                        doprab=+v;
                        break;
                      
                    default:
                        $("#it"+(i+1)).html(p*v);
                        total+=p*v;
                        if (i>10 && i<17) spvbm+=p*v;
                        if (i<8) mkv+=v;
                        if (i==20) svi=p*v;
                        if (i==8) kugl=p*v;
                        if (i==9) kuvv=p*v;
                        if (i>16 && i<1) doprab+=p*v;
                        break;
                }
              
              
            });
            var e33=$('#it21').html()*1;
            var e22=0;
            $('#it1,#it2,#it3,#it4,#it5,#it6,#it7,#it8,#it9,#it10').each(function(){e22+=$(this).html()*1});
            var e23=$('#it11').html()*1;
            var e34=e22+e23;
            var e35=0;
            $('#it12,#it13,#it14,#it15,#it16,#it17').each(function(){e35+=$(this).html()*1});
            var e36=e34+e35;
            var e37=mkv*12;
            var e38=$('#it9').html()*1/4;
            var e39=($('#it10').html()*1+e23)/4;
            var e40=e35/4;
            e41=0;
            $('#it18,#it19,#it20').each(function(){e41+=$(this).html()*1});
            var e42=e37+e38+e39+e40+e41;
            total=e33+e36+e42;
          
            $('#totprice').html(total.toFixed(2));
        }
      
        $('.calct input').bind('change',function(){
            recalc();
        })
    })
    
     
    Lasted edited by : 17 апр 2015
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    Дайте ссылку на сайт, где вы взяли эту форму и код