Создать форум бесплатно: ixbb.ru :: Календарь на Май 2024 года: calendar2008.ru/2024/may/

Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topicStart Poll

Помогите разобратся со скриптом калькулятора...

xenus1979
Отправлено: May 11 2008, 10:05 AM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 1581
Регистрация:
11-May 08



Народ помогит советом, или ткните носом где можно прочитать конкретно по моей проблемме.
Недавно начал осваивать HTML, с ява-скриптами вообще недружу (пока). Появилась необходимость установки калькулятора на свой сайт.

Это скрипт самого калькулятора...
CODE
<script language="JavaScript">
<!--
function calculate()
{
var ch1=0;
var calc=window.document.calc;
if(calc.jal1.checked==true)ch1=0.4;
if(calc.jal2.checked==true)ch2=0.4;
var q_bulk=calc.length.value*calc.height.value*calc.width.value;
var q_window1=calc.winвow.value*calc.select_window1.value*ch1/1000;
var q_technics=calc.comp.value*0.15+calc.tv.value*0.15+calc.printer.value*0.1+(calc.other.value*calc.other_vatt.value);
var q_body=calc.quantity_bodi.value*0.15;
var q_window2=calc.length_wall.value*calc.select_window2.value;
var q_total=q_bulk+q_window1+q_window2+q_body+q_techni
cs;
alert(q_total);
}
//-->
</script>

Это пример оформления ячеек для ввода данных
CODE
<tr align="center" valign="middle" class="btn">
           <td width="33%" height="25" class="btn"><div align="center">
           <input name="length" type="text" id="length" value="" size="5" maxlength="5" />
           </div></td>

Это кнопка вывода результата
CODE
<input name="summ" type="button" id="summ" value="Рассчёт">

Это ячейка куда результат должен подаватся
CODE
<input name="totall" type="text" id="totall" size="5" maxlength="5">

Что надо дописать/подправить чтоб при нажатии на кнопку "Рассчёт" данные выводились в ячейке "totall" ?

Заранее благодарен всем за ответ.
PMEmail Poster
Top
Vader
Отправлено: May 11 2008, 11:00 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 745
Пользователь №: 1047
Регистрация:
22-July 07



Подозреваю, что так:
CODE

<script language="JavaScript">
<!--
function calculate()
{
var ch1=0;
var calc=window.document.calc;
if(calc.jal1.checked==true)ch1=0.4;
if(calc.jal2.checked==true)ch2=0.4;
var q_bulk=calc.length.value*calc.height.value*calc.width.value;
var q_window1=calc.winвow.value*calc.select_window1.value*ch1/1000;
var q_technics=calc.comp.value*0.15+calc.tv.value*0.15+calc.printer.value*0.1+(calc.other.value*calc.other_vatt.value);
var q_body=calc.quantity_bodi.value*0.15;
var q_window2=calc.length_wall.value*calc.select_window2.value;
var q_total=q_bulk+q_window1+q_window2+q_body+q_techni

cs;
document.forms.название_формы.totall.value = q_total;
}
//-->
</script>


--------------------
Бесплатный хостинг на базе DirectAdmin и Cpanel.
---
Единственный разумный способ жить в этом мире — это жить без правил. © Джокер
PMUsers WebsiteICQ
Top
xenus1979
Отправлено: May 11 2008, 11:16 AM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 1581
Регистрация:
11-May 08



Vader спасибо за помощь. Ты первый кто за последние несколько дней вообще откликнулся, за что тебе благодарен...
Но чёт скрипт работать нехотит =(
PMEmail Poster
Top
SilverDEN
Отправлено: May 11 2008, 12:04 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 528
Пользователь №: 196
Регистрация:
27-December 06



QUOTE
var q_window1=calc.winвow.value*calc.select_window1.value*ch1/1000;

там поменяй на calc.window

А что делает скрипт?
Почему делишь на 1000 ? и что делишь на 1000 отдели скобками.
Проверь работспособность скрипта без вывода в ячейку, сдается мне там косяк.


--------------------
Мало знать как, нужно знать почему...
PMEmail Poster
Top
Asid Storm
Отправлено: May 11 2008, 12:08 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 895
Пользователь №: 39
Регистрация:
27-August 06



Если нужен калькулятор хороший то вот отдельный файл:
CODE

<html>
<head>
<title>JS Calculator</title>
<style type='text/css'>
input {border: 1px dotted black; background-color: white; color: black;}
td {border: 1px solid black;}
</style>
</head>

<body bgcolor='#CCCCCC' text='#000000' onLoad='ClearAll()'>

<script language='JavaScript'>
<!--

var memory1 = 0
var control = 0
var InOperator = ""
var FirstRound = 1

function Digit(number) {
  var string_mem = "";
  if (control == 1){
    document.calculator.output.value = number;
    control = 0;
}
else{
 string_mem = document.calculator.output.value;
 string_mem = string_mem + number;
 document.calculator.output.value = string_mem;
}
}

function ClearAll(){
document.calculator.output.value = "";
memory1 = 0;
FirstRound = 1;
}

function Calculate(Operator){
var memory2 = 0;
memory2 = parseFloat(document.calculator.output.value);
control = 1;
if (FirstRound == 1){
 memory1 = parseFloat(document.calculator.output.value);
 FirstRound = 0;
}
else{
 if (InOperator == "+")
  memory1 = (memory1 + memory2);
 if (InOperator == "-")
  memory1 = (memory1 - memory2);
 if (InOperator == "*")
  memory1 = (memory1 * memory2);
 if (InOperator == "/")
  memory1 = (memory1 / memory2);
}
InOperator = Operator;
document.calculator.output.value = memory1;
}

function SumUp(){
memory2 = parseFloat(document.calculator.output.value);
control = 1;
if (InOperator == "+"){
 memory1 = (memory1 + memory2);
}
else if (InOperator == "-"){
 memory1 = (memory1 - memory2);
}
else if (InOperator == "*"){
 memory1 = (memory1 * memory2);
}
else if (InOperator == "/"){
 memory1 = (memory1 / memory2);
}
InOperator = "";
document.calculator.output.value = memory1;
}

function cor(){
document.calculator.output.value = Math.sqrt(document.calculator.output.value)
}

function kub(){
document.calculator.output.value = Math.pow(document.calculator.output.value,3)
}

function kv(){
document.calculator.output.value = Math.pow(document.calculator.output.value,2)
}

function sin(){
document.calculator.output.value = Math.cos(document.calculator.output.value*Math.PI/180)
}

function cos(){
document.calculator.output.value = Math.sin(document.calculator.output.value*Math.PI/180)
}


function tan(){
document.calculator.output.value = Math.tan(document.calculator.output.value*Math.PI/180)
}

function exp(){
document.calculator.output.value = Math.exp(document.calculator.output.value)
}

function showPI(){
document.calculator.output.value = Math.PI
}

// -->
</script>

<form name='calculator'>
<center>
<table border='0'>
<tr>
<td onMouseOver="this.bgColor='black'" onMouseOut="this.bgColor='#CCCCCC'" align='center' style='border: 0px;'>
<table border='0'>
<tr>
<td colspan='3' align='center' onMouseOver="this.bgColor='red'" onMouseOut="this.bgColor='#CCCCCC'">
<input type='button' name='pi' value='  P '  onClick='showPI();' onMouseOver="document.calculator.help.value='Число PI';" onMouseOut="document.calculator.help.value='';"> <input type='text' name='output' size='10' style='border: 0 px; background-color: white;' readOnly> <input type='reset' name='reset' value='  C  ' onClick='ClearAll()' onMouseOver="document.calculator.help.value='Очистить';" onMouseOut="document.calculator.help.value='';">
</td>
</tr>
<tr>
<td align='center' valign='top' onMouseOver="this.bgColor='red'" onMouseOut="this.bgColor='#CCCCCC'">
<input type='button' value='  &radic;  ' onClick='cor()'  onMouseOver="document.calculator.help.value='Извлечь корень';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' value='  &sup2;  ' onClick='kv()'  onMouseOver="document.calculator.help.value='В квадрат';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' value='  &sup3;  ' onClick='kub()'  onMouseOver="document.calculator.help.value='В куб';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' value='  ' onClick=''>
</td>
<td align='center' valign='top' onMouseOver="this.bgColor='red'" onMouseOut="this.bgColor='#CCCCCC'">
<input type='button' name='B1' value='  1  ' onClick='Digit(1)' onMouseOver="document.calculator.help.value='Один';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B2' value='  2  ' onClick='Digit(2)' onMouseOver="document.calculator.help.value='Два';" onMouseOut="document.calculator.help.value='';">
<input type='button' NAME='B3' value='  3  ' onClick='Digit(3)' onMouseOver="document.calculator.help.value='Три';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='B4' value='  4  ' onClick='Digit(4)' onMouseOver="document.calculator.help.value='Четыре';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B5' value='  5  ' onClick='Digit(5)' onMouseOver="document.calculator.help.value='Пять';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B6' value='  6  ' onClick='Digit(6)' onMouseOver="document.calculator.help.value='Шесть';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='B7' value='  7  ' onClick='Digit(7)' onMouseOver="document.calculator.help.value='Семь';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B8' value='  8  ' onClick='Digit(8)' onMouseOver="document.calculator.help.value='Восемь';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B9' value='  9  ' onClick='Digit(9)' onMouseOver="document.calculator.help.value='Девять';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='zap' value='   ,  ' onClick='Digit(".")' onMouseOver="document.calculator.help.value='Запятая';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='B9' value='  0  ' onClick='Digit(0)' onMouseOver="document.calculator.help.value='Ноль';" onMouseOut="document.calculator.help.value='';">
<input type='button' name='sub' value='  =  ' onClick='SumUp()'  onMouseOver="document.calculator.help.value='Равно';" onMouseOut="document.calculator.help.value='';">
</td>
<td align='center' valign='top' onMouseOver="this.bgColor='red'" onMouseOut="this.bgColor='#CCCCCC'">
<input type='button' name='del' value='  /  ' onClick='Calculate("/")' onMouseOver="document.calculator.help.value='Разделить';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='plus' value='  *  ' onClick='Calculate("*")' onMouseOver="document.calculator.help.value='Умножить';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='min' value='  -  ' onClick='Calculate("-")' onMouseOver="document.calculator.help.value='Минус';" onMouseOut="document.calculator.help.value='';">
<div style='padding: 2px;'></div>
<input type='button' name='plus' value='  + '  onClick='Calculate("+")' onMouseOver="document.calculator.help.value='Плюс';" onMouseOut="document.calculator.help.value='';">
</td>
</tr>
<tr>
<td colspan='3' align='center' onMouseOver="this.bgColor='red'" onMouseOut="this.bgColor='#CCCCCC'">
<input type='button' value='sin' onClick='sin()' onMouseOver="document.calculator.help.value='Синус';" onMouseOut="document.calculator.help.value='';">
<input type='button' value='cos' onClick='cos()' onMouseOver="document.calculator.help.value='Косинус';" onMouseOut="document.calculator.help.value='';">
<input type='button' value='tan' onClick='tan()' onMouseOver="document.calculator.help.value='Тангенс';" onMouseOut="document.calculator.help.value='';">
<input type='button' value='exp' onClick='exp()' onMouseOver="document.calculator.help.value='Exp';" onMouseOut="document.calculator.help.value='';">
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<center>
<input style='background-color: #CCCCCC; border: 0 px; font-size: 18px; text-align: center;' type='text' name='help' value='' onMouseOver="document.calculator.help.value='JS Calculator';" onMouseOut="document.calculator.help.value='';" readOnly>
</center>
</form>

<center>JS Calculator Сергея Пангина modified by Asid Storm</center>

</body>
</html>
PMEmail PosterUsers WebsiteICQ
Top
xenus1979
Отправлено: May 11 2008, 12:43 PM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 1581
Регистрация:
11-May 08



QUOTE (SilverDEN)
там поменяй на calc.window

Это я уже обкосячился =( поправил...
QUOTE (SilverDEN)
А что делает скрипт?

Расчитывает колличество теплопритока на отдельно взятое помещение.
QUOTE (SilverDEN)
Почему делишь на 1000 ? и что делишь на 1000 отдели скобками.

Делю на 1000 чтоб перевести ватты в киловатты.
QUOTE (SilverDEN)
Проверь работспособность скрипта без вывода в ячейку, сдается мне там косяк.

Моя карма мне не позволяет проводить операции сложнее умножения/деления, я себе даже представить не могу как провести операцию предложенную тобой о_О
QUOTE (Asid Storm)
Если нужен калькулятор хороший то вот отдельный файл:

спасибо, думаю на будущее пригодится...
PMEmail Poster
Top
SilverDEN
Отправлено: May 11 2008, 01:00 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 528
Пользователь №: 196
Регистрация:
27-December 06



Просто для теплопритоков тебе нужен объем помещения, остекление и количество людей и техники. А тут всего одна ячейка. Или делай проще 100Вт на м.кв для стандартного остекления. wink.gif Ладно если без шуток то завтра попробую тебе дать это на php. плз. выложи код целиком.


--------------------
Мало знать как, нужно знать почему...
PMEmail Poster
Top
xenus1979
Отправлено: May 11 2008, 01:20 PM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 1581
Регистрация:
11-May 08



ОМГ О_О...ты ещё и в рассчётах теплопритоков разбираешься??? помоему я уже не поспеваю за этой жизнью =(
http://www.box.net/shared/bl2o43v488 вот лучше посмотри на страницу с этим калькулятором, думаю код тут выкладывать это перебор.
PMEmail Poster
Top
SilverDEN
Отправлено: May 12 2008, 10:28 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 528
Пользователь №: 196
Регистрация:
27-December 06



Та форма тоже не рабайтен.

Вот сбацал упрощенный вариант, можешь его дополнить
Здесь считает 35Вт на 1м3

CODE
<HTML><HEAD><TITLE>Калькулятор теплопритоков</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<META content="Калькулятор теплопритоков" name=Description>
<META content="Калькулятор теплопритоков" name=KeyWords>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
function area(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=eval(form.c.value)
d=(a*b*c)*35
form.ans.value = d
}
</SCRIPT>

<CENTER>
<FORM name="forma">
 <table width="30%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td>Длина помещения в м. </td>
     <td><input type="text" size="4" value="" name="a" /></td>
   </tr>
   <tr>
     <td>Ширина помещения в м. </td>
     <td><input type="number" size="4" value="" name="b" /></td>
   </tr>
   <tr>
     <td>Высота помещения в м. </td>
     <td><input type="text" size="4" value="" name="c" /></td>
   </tr>
   <tr>
     <td><input name="button" type="button" onclick="area(this.form)" value="  считать  " /></td>
     <td></td>
   </tr>
   <tr>
     <td>Сумма теплопритоков в Вт. </td>
     <td><input type="type" "number" value=0 name="ans" size="9" /></td>
   </tr>
 </table>
 
</FORM>
</CENTER>
</BODY>
</HTML>


--------------------
Мало знать как, нужно знать почему...
PMEmail Poster
Top
xenus1979
Отправлено: May 13 2008, 12:42 AM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 1581
Регистрация:
11-May 08



SilverDEN - тебе респект и уважуха!!! =) с твоей формулой всё запахало как часики. Я тут немного подкорректировал на своё усмотрение. А тебе, и всем кто старался помочь, ещё раз спасибо!
CODE

<body>
<script LANGUAGE="JavaScript">
function area(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=eval(form.c.value)
d=eval(form.d.value)
e=eval(form.e.value)
f=eval(form.f.value)
g=eval(form.g.value)
h=eval(form.h.value)
i=eval(form.i.value)
j=eval(form.j.value)
k=eval(form.k.value)
l=eval(form.l.value)
m=eval(form.m.value)
n=((a*b*c*35)+(d*e)+((f*150)+(g*150)+(h*100)+(i*j))+(k*100)+(l*m))
form.ans.value = n
}
</SCRIPT>
</p>
<FORM name="forma">
     <table width="100%" border="0" cellpadding="0" cellspacing="5" class="cat">
     <tr>
       <td colspan="3" valign="top">Основный параметры помещения </td>
       </tr>
     <tr>
       <td valign="top">Длина</td>
       <td valign="top">Ширина</td>
       <td valign="top">Высота</td>
     </tr>
     <tr>
       <td valign="top"><input name="a" type="text" value="" size="4" /></td>
       <td valign="top"><input name="b" type="text" value="" size="4" /></td>
       <td valign="top"><input name="c" type="text" value="" size="4" /></td>
     </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><div align="center"><span class="consult_your_answer стиль21">Ориентация окон</span></div></td>
       </tr>
     <tr>
       <td valign="top" class="last">Ориентация</td>
       <td valign="top" class="last"><select name="d" SIZE="1" >
           <option value="190">Юг</option>
           <option value="0"  >Север</option>
           <option value="200">Восток</option>
           <option value="200">Запад</option>
           <option value="180">Юго-Восток</option>
           <option value="180">Юго-Запад</option>
           <option value="100">Северо-Восток</option>
           <option value="100">Северо-Запад</option>
         </select></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">Площадь окон м2</td>
       <td valign="top" class="last"><input name="e" type="text" class="cat" id="e" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><div align="center"><span class="consult_your_answer стиль21">Бытовые приборы</span></div></td>
       </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last"><span class="стиль20">колличество</span></td>
       <td valign="top" class="last"><span class="стиль20">ватт</span></td>
     </tr>
     <tr>
       <td valign="top" class="last">Компьютер</td>
       <td valign="top" class="last"><input name="f" type="text" class="cat" id="f" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">Телевизор</td>
       <td valign="top" class="last"><input name="g" type="text" class="cat" id="g" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">Принтер</td>
       <td valign="top" class="last"><input name="h" type="text" class="cat" id="h" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">Другое оборудование </td>
       <td valign="top" class="last"><input name="i" type="text" class="cat" id="i" value="" size="4" /></td>
       <td valign="top" class="last"><input name="j" type="text" class="cat" id="j" value="" size="4" /></td>
     </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><div align="center"><span class="consult_your_answer стиль21">Люди</span></div></td>
       </tr>
     <tr>
       <td valign="top" class="last">Колличество</td>
       <td valign="top" class="last"><input name="k" type="text" class="cat" id="k" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><div align="center"><span class="consult_your_answer стиль21">Расчёт теплопритока от стен</span></div></td>
       </tr>
     <tr>
       <td valign="top" class="last">Длинна стены выходящей на улицу </td>
       <td valign="top" class="last"><input name="l" type="text" class="cat" id="l" value="" size="4" /></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">Материал стены </td>
       <td valign="top" class="last"><select name="m" SIZE="1" class="cat" >
               <option value="0,81">Кирпич силикатный</option>
               <option value="0,44"  >Кирпич пустотелый</option>
               <option value="1,75">Бетонная стена</option>
               <option value="0,6">Шлакоблок</option>
               <option value="52">Сталь</option>
             </select></td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><input name="button" type="button" onclick="area(this.form)" value="  Рассчитать мощьность  " /></td>
     </tr>
     <tr>
       <td colspan="3" valign="top" class="last"><div align="center"><span class="consult_your_answer стиль21">Сумма всех теплопритоков</span></div></td>
       </tr>
     <tr>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last">&nbsp;</td>
       <td valign="top" class="last"><input type="type" "number" value=0 name="ans" size="9" /></td>
     </tr>
   </table>      
     <p align="center">
</FORM>
</body>
PMEmail Poster
Top

Topic OptionsСтраницы: (2) [1] 2  Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0300 ]   [ 10 queries used ]   [ GZIP выключен ]