Телеграм чат

Автор Тема: калькулятор на сайт помогите исправить  (Прочитано 6814 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ЕфимАвтор темы

  • Пользователь
  • **
  • Сообщений: 22
  • Репутация: 1
    • Торжок
    • Россия
    • Награды
нашёл самый простой калькулятор, установил скрипт на сайте, но сделать его под себя не могу.
Смог сам установить цену за полотно 500 р, труба и доп угол поставил по 100р. и за светильник 400= умнажаю 5 м. длины на 2м. ширины=10 кв/м ,не включая не светильники не трубы выдаёт сумму 5700руб. В скрипте нашёл цифру 50(похоже багет) и понял что он её умножает на периметр 14м = 700. ЧТО НУЖНО УБРАТЬ ЧТОБЫ ПОЛУЧИЛОСЬ ровно 500 руб и ВСЁ
Может у кого поинтереснее есть скрипт калькулятора
<script type="text/javascript">
    function check_digits(if_no_points) {
        var key = event.keyCode;
        if (!(key >= 48 && key <= 57) && key != 8 && key != 46) { event.returnValue = false; }
    }
    function calculate() {
        var price = 0;
        var room_length = document.calc.room_ length.value;
        var room_width = document.calc.room_ width.value;
        var tubes_quantity = document.calc.tubes _quantity.value;
        var lightpoints_quantit y = document.calc.light points_quantity.val ue;
        var angles_quantity = document.calc.angle s_quantity.value;

        if (room_length > 0 && room_width > 0) {
            document.getElement ById('roof_size').innerText = room_length * room_width;
            document.getElement ById('roof_perimeter').innerText = 2 * room_length   2 * room_width;
            if (angles_quantity >= 4)
                price = room_length * room_width * 500   (2 * room_length   2 * room_width) * 50   tubes_quantity * 100   lightpoints_quantit y * 400   (angles_quantity - 4) * 100;
        }
        else
            document.getElement ById('roof_size').innerText = "0";

        document.getElement ById('price').innerText = price   "руб.";
        return true;
    }
</script>
<form name="calc">
    <table>
    <tr>
        <td>Длина комнаты (метры):</td>
        <td><input size="10" name="room_length" onkeypress="check_digits()" onkeyup="calculate();" /></td>
    </tr>
    <tr>
        <td>Ширина комнаты (метры):</td>
        <td><input size="10" name="room_width" onkeypress="check_digits()" onkeyup="calculate();" value="" /></td>
    </tr>
    <tr>
        <td>Количество труб:</td>
        <td><input size="10" name="tubes_quantity" onkeypress="check_digits()" onkeyup="calculate();" value="" /></td>
    </tr>
    <tr>
        <td>Кол-во точек освещения:</td>
        <td><input size="10" name="lightpoints_quantit y" onkeypress="check_digits()" onkeyup="calculate();" value="" /></td>
    </tr>
    <tr>
        <td>Кол-во углов в комнате:</td>
        <td><input size="10" name="angles_quantity" onkeypress="check_digits()" onkeyup="calculate();" value="4" /></td>
    </tr>
    <tr>
        <td>Площадь потолка:</td>
        <td><span id="roof_size"></span> м<sup>2</sup></td>
    </tr>
    <tr>
        <td>Периметр потолка:</td>
        <td><span id="roof_perimeter"></span> м</td>
    </tr>
    <tr>
        <td>Стоимость потолка под ключ:</td>
        <td><span id="price"></span></td>
    </tr>
    </table>
</form>

Оффлайн Alexas_s

  • Бизнес Клуб
  • ******
  • Сообщений: 9258
  • Репутация: 210
  • Маленький пушистый тролль
    • Серпухов
    • Россия
    • www.СтудияПарсек.рф
    • Награды
  • Соцстатус: Благотворитель
Вы уверены что Вы на нужном форуме?

Оффлайн ЕфимАвтор темы

  • Пользователь
  • **
  • Сообщений: 22
  • Репутация: 1
    • Торжок
    • Россия
    • Награды
я думаю да, и тема очень даже актуальная калькулятор на сайт натяжных потолков, одни монтажники что ли и сайтов типо ни у кого нет?

Оффлайн arina

 price = room_length * room_width * 500   (2 * room_length   2 * room_width) * 50   tubes_quantity * 100   lightpoints_quantit y * 400   (angles_quantity - 4) * 100;

Вы тут цену багета поставили 50 р (2 * room_length   2 * room_width) * 50
Тут поставили что у вас обход трубы 100 р   tubes_quantity * 100   
светильники по 400 lightpoints_quantit y * 400   

Если вы не хотите вообще багет продавать поставьте ему цену 0 и всё

Оффлайн ЕфимАвтор темы

  • Пользователь
  • **
  • Сообщений: 22
  • Репутация: 1
    • Торжок
    • Россия
    • Награды
попробовал и 0 и 1 ставить всё равно +700 =5700

Оффлайн Виталий

  • Администратор
  • ******
  • Сообщений: 17265
  • Репутация: 185
    • Саратов
    • Россия
    • rss-potolki
    • Награды
Вам правильно подсказали с ценой
Попробуйте другие размеры поставить, например 3 на 5 и цену 21 рубль за багет.
и напишите, что получилось в итоге
к сожалению не стоит на компе прога по скриптам.. а то бы быстро нашёл ошибку.. а так - только методом тыка смогу помочь)

Оффлайн saxan

  • Пользователь
  • **
  • Сообщений: 32
  • Репутация: 2
    • Якутск
    • Россия
    • Награды
Вот проверьте, вроде рабочий был

<script language="JavaScript">
<!--
 
// цены, позиция в массиве соответствует

var price1 = []; // менее 6
var price2 = []; // 6-9
var price3 = []; // 10-14
var price4 = []; // 15-19
var price5 = []; // 20-24
var price6 = []; // 25-29
var price7 = []; // более 30
var misc = [];
 
price1[1] = 800; price2[1] = 800; price3[1] = 800; price4[1] = 800;price5[1] =800;price6[1] = 800;price7[1] = 800;

 
misc[1] = 100;
misc[2] = 300;
misc[3] = 800; 
misc[4] = 400;
misc[5] = 1000;
misc[6] = 550;
misc[7] = 100;
misc[8] = 300;
misc[9] = 500;
 

misc[10] = 150;

misc[11] = 150;

misc[12] = 150;

function calc()
{
var itm = tools.faktura.value;
 
var squ = Number(tools.squ.value);
if (squ == 0)
{
tools.squ.focus();
alert("Вы не указали метраж потолка.");
return false;
}
 
var cor = Number(tools.cor.value);
//if (cor == 0)
//{
//tools.cor.focus();
//alert("Вы не указали количество углов.");
//return false;
//}
 
var tru= Number(tools.tru.value);
//if (tru == 0)
//{
//  tools.tru.focus();
//  alert("Вы не указали количество труб.");
//  return false;
//}
 
var len= Number(tools.len.value);
//if (len == 0)
//{
//  tools.len.focus();
//  alert("Вы не указали периметр.");
//  return false;
//}
 
var klus= Number(tools.klus.value);
//if (lus == 0)
//{
//  tools.klus.focus();
//  alert("Вы не указали количество люстр.");
//  return false;
//}
 
var plus= Number(tools.plus.value);
//if (lus == 0)
//{
//  tools.plus.focus();
//  alert("Вы не указали количество люстр.");
//  return false;
//}
 
var sve = Number(tools.sve.value);
//if (pro == 0)
//{
//  tools.sve.focus();
//  alert("Вы не указали количество светильников.");
//  return false;
//}

var pro = Number(tools.pro.value);
//if (pro == 0)
//{
//  tools.pro.focus();

//  alert("Вы не указали количество проводки.");

//  return false;

//}

var res = sve*misc[1]   klus*misc[2]   tru*misc[4]   pro*misc[9]   plus*misc[3];
 
if (cor < 6) cor_val = misc[10];

if (cor >= 6 && cor <= 9) cor_val = misc[10];

if (cor > 9) cor_val = misc[12];

if (squ < 7) squ_val = price4[itm];

if (squ >= 7 && squ <= 9) squ_val = price3[itm];

if (squ > 9 && squ <= 29) squ_val = price2[itm];

if (squ > 29) squ_val = price1[itm];


var res1 = 0;   
res1 = (cor-4 4)*cor_val   squ*squ_val;

var res2 = 0

res2 = len*misc[5]


var res3 = 0;   
res3 = res   res1   res2;
window.document.get ElementById('price').innerHTML = '<b></b><br> '
  '<br>'
  '<br>'
  '<br>'
  '---------------------------------<br>'
  'Приблизительная стоимость <b>'   res3  ' руб.</b>';
 
return false;
}
 
//-->
 
</script>
<form name=tools>
<br>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif">Калькулятор</font></b><br>
<select name=faktura>
<option value=1>Натяжного потолка
</select>
<br>
<br>
<table cellpadding=5 cellspacing=0 border=0 width=500>
<tr>
<td width=230 align=right>
<p align="left">Площадь</p>
 
</td>
<td width="250">
<p>
<input name="squ" type="text" size="5">
&nbsp;м<sup>2</sup></p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Количество углов</p>
</td>
<td>
<p>
<input name="cor" type="text" size="5">
&nbsp;шт</p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Монтаж точ.светильника с
эл. проводом.</p>
</td>
<td>
<p>
<input name="tru" type="text" size="5">
&nbsp;шт</p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Потолочная гардина</p>
</td>
<td>
<p>
<input name="len" type="text" size="5">
&nbsp;шт.</p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Количество труб до потолка</p>
</td>
<td>
<p>
<input name="klus" type="text" size="5">
&nbsp;шт</p>
</td>
</tr>

<tr>

<td width=230 align=right>

<p align="left">Монтаж люстры</p>
</td>
<td>
<p>
<input name="plus" type="text" size="5">
&nbsp;шт</p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Лента маскировочная
(периметр помещения).</p>
</td>
<td>
<p>
<input name="sve" type="text" size="5">
&nbsp;м\пог.</p>
</td>
</tr>
 
<tr>
<td width=230 align=right>
<p align="left">Криволинейный участок</p>
</td>
<td>
<p>
<input name="pro" type="text" size="5">
&nbsp;пог.м</p>
</td>
</tr>
 
<tr>
<td width=230 align=right></td>
<td></td>
</tr>
</table>
<br>
</div>
<p align="center">
<input name="button" type=button onClick="calc()" value='Рассчитать'>
</p>
 
</form>
 
<p align="center"> <span id='price'></span>
</script>

Оффлайн Артем Каража

  • Наставник
  • ***
  • Сообщений: 235
  • Репутация: 7
    • Ульяновск
    • Россия
    • Награды
Не пашет