Помогите разобраться
есть функция и формы ввода
<html> <head> <title>Считалка</title>
<script language="JavaScript" type="text/javascript">
function calc()
{
cost_m2=document.getElementById('cost_m2'); //цена метра квадратного
#cost_izd=document.getElementById('cost_izd'); // цена изделия
#cost=document.getElementById('cost'); //сумма
width=document.getElementById('width'); //ширина
height=document.getElementById('height'); //высота
metric=document.getElementById('metric'); //размер в см мм м
copys=document.getElementById('copys'); //колво-копий
#sq=document.getElementById('sq'); //площадь
var w,h;
if(metric[metric.selectedIndex].value=='mm') //переводим в метры
{
w=width.value/1000;
h=height.value/1000
}
if(metric[metric.selectedIndex].value=='cm')
{
w=width.value/100;
h=height.value/100
}
if(metric[metric.selectedIndex].value=='m')
{
w=width.value;
h=height.value;
}
var sq, cost_izd;
sq.value=w*h; // размер в квадратах
cost_izd.value = sq.value*cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1*cost_izd.value*copys.value; //цену изделия на кол-во копий = цена
}
</script>
</head> <body> <select id="cost_m2" name="material" onclick="calc()" onchange="calc()"> <option value="">--</option> <option value="10">Самоклейка</option> <option value="15">Банер</option> </select> <input type="text" value="0" id="height" name="height" onclick="calc()" onchange="calc()">x<input type="text" value="0" id="width" name="width" onclick="calc()" onchange="calc()"> <select name="metric" id="metric" onclick="calc()" onchange="calc()" > <option value="cm">cm</option> <option value="m">m</option> <option value="mm">mm</option> </select> (ширина х высота) <input name="copys" onclick="calc()" onchange="calc()" id="copys" value="1" size="3"> <br> <input name="cost" size="6" id="cost" value="0"> </body> </html> Я в javascript новичок, ткните носом в ошибки, буду благодарен! |
А в чем проблема то?
|
Скрипт должен выводить сумму, но он не работает.
|
<html>
<head>
<title>Считалка</title>
<script language="JavaScript" type="text/javascript">
<!--
function calc() {
var cost_m2 = document.getElementById('cost_m2'); //цена метра квадратного
//var cost_izd = document.getElementById('cost_izd'); // цена изделия
var cost = document.getElementById('cost'); //сумма
var width = document.getElementById('width'); //ширина
var height = document.getElementById('height'); //высота
var metric = document.getElementById('metric'); //размер в см мм м
var copys = document.getElementById('copys'); //колво-копий
//var sq = document.getElementById('sq'); //площадь
var w, h;
if(metric.value == 'mm') {
w = width.value / 1000;
h = height.value / 1000;
}
if(metric.value == 'cm') {
w = width.value / 100;
h = height.value / 100;
}
if(metric.value=='m') {
w = width.value;
h = height.value;
}
var sq, cost_izd;
sq = w * h; // размер в квадратах
cost_izd = sq * cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1 * cost_izd * copys.value; //цену изделия на кол-во копий = цена
}
//-->
</script>
</head>
<body>
<form>
<select id="cost_m2" name="material" onChange="calc()">
<option value="">--</option>
<option value="10">Самоклейка</option>
<option value="15">Банер</option>
</select>
<input type="text" value="0" id="height" name="height" onKeyUp="calc()"> x <input type="text" value="0" id="width" name="width" onKeyUp="calc()">
<select name="metric" id="metric" onChange="calc()" >
<option value="cm">cm</option>
<option value="m">m</option>
<option value="mm">mm</option>
</select> (ширина х высота)
<input name="copys" onKeyUp="calc()" id="copys" value="1" size="3">
<br>
<input name="cost" size="6" id="cost" value="0">
</form>
</body>
</html>
|
Kos,
Спасибо огромное!!!:) |
if ((document.getElementById('paika').checked) && (document.getElementById('lyuv_con').onchange && lyuv_con.value>0))
Не работает , подскажите где ошибка. |
Во-первых onchange - метод, а не значение, а во-вторых - что такое lyuv_con?
|
function calc() {
var cost_m2 = document.getElementById('cost_m2'); //цена метра квадратного
var cost_izd = document.getElementById('cost_izd'); // цена изделия
var cost = document.getElementById('cost'); //сумма
var width = document.getElementById('width'); //ширина
var height = document.getElementById('height'); //высота
var metric = document.getElementById('metric'); //размер в см мм м
var copys = document.getElementById('copys'); //колво-копий
var lyuv_com = document.getElementById('lyuv_con'); //люверсы, расстояние
var lyuv_cost = document.getElementById('lyuv_cost'); //цена одного люверса
//var paika = document.getElementById('paika'); //пайка
var paika_cost = document.getElementById('paika_cost'); //цена пайки за метр
var w, h;
if(metric.value == 'mm') {
w = width.value / 1000;
h = height.value / 1000;
}
if(metric.value == 'cm') {
w = width.value / 100;
h = height.value / 100;
}
if(metric.value=='m') {
w = width.value;
h = height.value;
}
var per, cost_pai, kol, cost_l, sq, cost_izd;
per = (w + h) * 2; //периметр
sq = w * h; // размер в квадратах, площадь
if(document.getElementById('paika').checked)//пайка
{
cost_pai = per * paika_cost.value;// цена пайки по периметру
cost_izd = sq * cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1 * cost_izd * copys.value + cost_pai;//цену изделия на кол-во копий = цена
} else if (document.getElementById('lyuv_con').onchange && lyuv_con.value>0)//расстояние между люверсами
{
kol = per / lyuv_con.value; //кол-во люверсов
cost_l = kol * lyuv_cost.value; //сумма за люверсы, кол-во люверсов умножаем на цену одного
cost_izd = sq * cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1 * cost_izd * copys.value + cost_l;//цену изделия на кол-во копий = цена
} else if ((document.getElementById('paika').checked) && (document.getElementById('lyuv_con').onchange && lyuv_con.value>0))
{
cost_pai = per * paika_cost.value;// цена пайки по периметру
kol = per / lyuv_con.value; //кол-во люверсов
cost_l = kol * lyuv_cost.value; //сумма за люверсы, кол-во люверсов умножаем на цену одного
cost_izd = sq * cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1 * cost_izd * copys.value + cost_l + cost_pai;//цену изделия на кол-во копий = цена
}
else {
cost_izd = sq * cost_m2.value; //умножаем полеченный размер на цену метра квадратного = цена изделия
cost.value = 1 * cost_izd * copys.value;//цену изделия на кол-во копий = цена
}
}
//-->
</script>
lyuv_con - расcтояние |
а если так?
parseInt(lyuv_con.value)>0 |
Получается если я выбираю одно из условий , всё работает , но когда их два , то работает только одно - paika.
|
| Часовой пояс GMT +3, время: 16:56. |