Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ругаются IE (до 9 версии) (https://javascript.ru/forum/jquery/29620-rugayutsya-ie-do-9-versii.html)

ultrbi4 05.07.2012 10:51

Ругаются 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;


на последнюю строку "Объект не поддерживает это свойство или метод "

Deff 05.07.2012 11:09

добавьте
Цитата:

sval = pa1 * pa2; // Площадь
alert( sval);
И есть ли конечные закрывающиеся скобки для $('.calc').keyup(function(){
*Пример функции - не законченный

ultrbi4 05.07.2012 11:18

alert выдает число - результат умножения pa1 на pa2
во всех остальных браузерах все отлично считается

Deff 05.07.2012 11:21

ultrbi4,
Выложите ссылку или полную функцию - потестим

ultrbi4 05.07.2012 11:24

Вложений: 1
Держите

ultrbi4 05.07.2012 11:28

Я начинающий, поэтому наверно логика в скрипте слишком прямолинейна, если не сложно прошу указать на мои недочеты

Deff 05.07.2012 12:31

Ошибка в ином, этот кусок работает в ИЕ

<!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>

Deff 05.07.2012 12:34

Думаю - что воть эти установки не Гуд
pa1 = $("#long").val();
pa2 = $("#width").val();
pa3 = $("#height").val();
sval = pa1 * pa2; // Площадь
По большому счету pa1 и pa2 - строковые переменные - а не цифры
Ие скорее всего множит '123123' * '123123'

ultrbi4 05.07.2012 12:54

пишу вот так
var shebenNum = sval * 0.05;

ошибка переходит на след строку, может ие не может на ходу создать переменную?

ultrbi4 05.07.2012 12:56

добавил везде var, в IE начал нормально работать


Часовой пояс GMT +3, время: 00:30.