Помогите разобраться
есть функция и формы ввода
<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, время: 15:02. |