Ругаются IE (до 9 версии)
$('.calc').keyup(function(){ pa1 = $("#long").val(); pa2 = $("#width").val(); pa3 = $("#height").val(); sval = pa1 * pa2; // Площадь ppa = 2 * pa1 + 2 * pa2; // Периметр ssten = ((ppa * pa3) * 110) / 100;// Площадь стен skrovlya = (sval * 120) / 100; // Площадь кровли sall = ssten + skrovlya; // Общая площадь hfloor = 100; // Толщина пола discountval = discount(sval) // Скидка function discount(sval) { if (sval < 5000) {return 0}; if (sval < 10000) {return 0.05}; if (sval < 50000) {return 0.1}; if (sval < 80000) {return 0.15}; return 0.2; } skidka = discountval; shebenNum = sval * 0.05; на последнюю строку "Объект не поддерживает это свойство или метод " |
добавьте
Цитата:
*Пример функции - не законченный |
alert выдает число - результат умножения pa1 на pa2
во всех остальных браузерах все отлично считается |
ultrbi4,
Выложите ссылку или полную функцию - потестим |
Вложений: 1
Держите
|
Я начинающий, поэтому наверно логика в скрипте слишком прямолинейна, если не сложно прошу указать на мои недочеты
|
Ошибка в ином, этот кусок работает в ИЕ
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> pa1 = 123123; pa2 = 123123; pa3 = 123123; sval = pa1 * pa2; // Площадь alert(sval) ppa = 2 * pa1 + 2 * pa2; // Периметр ssten = ((ppa * pa3) * 110) / 100;// Площадь стен skrovlya = (sval * 120) / 100; // Площадь кровли sall = ssten + skrovlya; // Общая площадь hfloor = 100; // Толщина пола discountval = discount(sval) // Скидка function discount(sval) { if (sval < 5000) {return 0}; if (sval < 10000) {return 0.05}; if (sval < 50000) {return 0.1}; if (sval < 80000) {return 0.15}; return 0.2; } skidka = discountval; shebenNum = sval * 0.05; shebenPrice = 1350; </script> </body></html> |
Думаю - что воть эти установки не Гуд
pa1 = $("#long").val(); pa2 = $("#width").val(); pa3 = $("#height").val(); sval = pa1 * pa2; // Площадь По большому счету pa1 и pa2 - строковые переменные - а не цифры Ие скорее всего множит '123123' * '123123' |
пишу вот так
var shebenNum = sval * 0.05; ошибка переходит на след строку, может ие не может на ходу создать переменную? |
добавил везде var, в IE начал нормально работать
|
ultrbi4,
pa1 = parseInt($("#long").val()); pa2 = parseInt($("#width").val()); pa3 = parseInt($("#height").val()); И тут нун еще проверку на isNaN |
Цитата:
var pa1 = parseFloat( $("#long").val() ) || 0; |
а там сначала проверка идет на то чтобы пользователь мог вбить только числа, поэтому там же NaN не должно быть, или не прав?
|
Цитата:
|
Цитата:
Цитата:
|
Спасибо большое, за помощь
|
Часовой пояс GMT +3, время: 10:28. |