|
|
|
| Здравствуйте!
Срочно понадобилось составить решение одной формулы на JS. На PHP бы сам сделал, но тут именно с JS нужно связать, а я пока его не настолько хорошо знаю.
Суть такая:
___________________________________________________
U=(C1q1+C2q2+C3q3+...+Cnqn)+(A1b1+A2b2+A3b3+...+Akbk)+G(1+b1+b2+b3)-H - сама формула
Где C1, C2, C3... Cn - стоимость единицы продукции
q1,q2,q3...qn - расход на ее производство
A1, A2, A3...Ak - стоимость комплектующего изделия
b1,b2,b3...bk - расход на ее производство
G - объем зарплаты персонала
B1,B2,B3 - платежи
H - стоимость возвратных средств
___________________________________________________
Пользователь вводит все переменные. При этом он сначала должен выбрать количество продукции (n) и количество изделий (k). Затем перед ним должны появится текстовые поля, количество которых и вводил пользователь. Я предполагаю, что вид страницы должен быть такой:
Продукция <input type=text name=C1> - Стоимость <input type=text name=q1>
<br>
Продукция <input type=text name=C2> - Стоимость <input type=text name=q2>
...
Продукция <input type=text name=Cn> - Стоимость <input type=text name=qn>
<br><br>
Комплектующее <input type=text name=A1> - Стоимость <input type=text name=b1>
<br>
Комплектующее <input type=text name=A2> - Стоимость <input type=text name=b2>
...
Комплектующее <input type=text name=Ak> - Стоимость <input type=text name=bk>
<br><br>
Объем зарплаты персонала: <input type=text name=G>
<br><br>
Платежи:
<br>
<input type=text name=B1>
<br>
<input type=text name=B2>
<br>
<input type=text name=B3>
<br><br>
Стоимость возвратных средств: <input type=text name=H>
<br><br>
<input type=submit name=ok value="Подсчет">
<br><br>
Итог: <input type=text name=itog>
</form>
|
А потом по нажатию SUBMIT формы в каком-то текстовом поле должен появиться результат.
Главная сложность этого скрипта - реализация в одном файле и, по возможности, без видимого обновления страницы.
Всем, кто поможет, буду оооочень благодарен! | |
|
|
|
|
|
|
|
для: Я
(26.04.2007 в 20:55)
| | Можно сделать таким образом ... Вычисляет без обновления страницы
<script type='text/javascript'>
var d = document;
function Itog() {
vC1 = d.forms[0].C1.value;
vC2 = d.forms[0].C2.value;
vCn = d.forms[0].Cn.value;
vq1 = d.forms[0].q1.value;
vq2 = d.forms[0].q2.value;
vqn = d.forms[0].qn.value;
vA1 = d.forms[0].A1.value;
vA2 = d.forms[0].A2.value;
vAk = d.forms[0].Ak.value;
vb1 = d.forms[0].b1.value;
vb2 = d.forms[0].b2.value;
vbk = d.forms[0].bk.value;
vG = d.forms[0].G.value;
vB1 = d.forms[0].B1.value;
vB2 = d.forms[0].B2.value;
vB3 = d.forms[0].B3.value;
vH = d.forms[0].H.value;
var U = (vC1*vq1 + vC2*vq2 + vCn*vqn)+(vA1*vb1 + vA2*vb2 + vAk*vbk)+(vG*(1+vb1+vb2))-vH
d.forms[0].itog.value = U;
}
</script>
<form name=post>
Продукция <input type=text name=C1> - Стоимость <input type=text name=q1>
<br>
Продукция <input type=text name=C2> - Стоимость <input type=text name=q2>
...
Продукция <input type=text name=Cn> - Стоимость <input type=text name=qn>
<br><br>
Комплектующее <input type=text name=A1> - Стоимость <input type=text name=b1>
<br>
Комплектующее <input type=text name=A2> - Стоимость <input type=text name=b2>
...
Комплектующее <input type=text name=Ak> - Стоимость <input type=text name=bk>
<br><br>
Объем зарплаты персонала: <input type=text name=G>
<br><br>
Платежи:
<br>
<input type=text name=B1>
<br>
<input type=text name=B2>
<br>
<input type=text name=B3>
<br><br>
Стоимость возвратных средств: <input type=text name=H>
<br><br>
<input type=button name=ok value="Подсчет" onclick="Itog()">
<br><br>
Итог: <input type=text name=itog>
</form>
|
Скрипт работает в IE, в остальных не знаю как. Сам подсчет формулы может и не верный, но суть думаю ясна :) | |
|
|
|
|
 3.5 Кб |
|
|
для: Sl
(27.04.2007 в 06:34)
| | Мультиброузерный вариант с точным расчетом ))) в прикрепленном файле.
P.S. И использование в названиях элементов формы одинаковых букв, пусть даже в разном регистре (B1 и b1) все-равно может привести к ошибкам вычисления, поэтому для названий name лучше использовать все же разные буквы. | |
|
|
|
|
|
|
|
для: ilyaILF
(27.04.2007 в 07:40)
| | Спасибо огромное! Последний вариант - именно то, что мне было нужно. | |
|
|
|