Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Видимость типа

81K
08 февраля 2013 года
ICEBERG665
21 / / 05.02.2013
Код:
<!-- функции вставки javascripr -->
<!-- часть ява скрипта-->
else if (document.getElementById('x3').value>6) {
a=document.getElementById('x0').value;
b=document.getElementById('x1').value;
c=document.getElementById('x2').value;
d=document.getElementById('x3').value;
cost=Math.round((1+Math.sqrt(d)/20)*a*b*c/1000);
return cost;}
else {"еще код"}
</script>
<body>
<!-- часть кода таблицы -->
<td align="center" style="width: 60px;"><input type="text" value="1" id="x0" onkeyup="cost()"><br /></td>
<td align="center" style="width: 60px;"><input type="text" value="2" id="x1" onkeyup="cost()"><br /></td>
<td align="center" style="width: 60px;"><input type="text" value="3" id="x2" onkeyup="cost()"><br /></td>
<td align="center" style="width: 60px;"><input type="text" value="4" id="x3" onkeyup="cost()"><br /></td>
<!-- остальной код таблицы -->
</body>
Вопрос почему на срабатывание условия указаного выше выдается ошибка "Uncaught TypeError: number is not a function" на строку обьявления "<input type="text" value="4" id="x3" onkeyup="cost()">"?
Как ее устранить? Т.к. при ее выдаче прекращаяется выполнение всех javascript!
81K
08 февраля 2013 года
ICEBERG665
21 / / 05.02.2013
Функции parseFloat() и parseInt() -- решили проблему!

Примеры функций:

 
Код:
parseFloat('3.78kg')   // 3.78
parseFloat('kg33')   // NaN
parseFloat('0004.111')   // 4.111
parseFloat('0x66')   // 0
parseFloat('.5')   // 0.5
parseFloat('-.5')   // -0.5
parseFloat('0.5e6')   // 500000
parseFloat('0.03E+2')   // 3
parseFloat('3E-4')   // 0.0003
parseFloat('-3E-4')   // -0.0003

Код:
parseInt('25')   // 25
parseInt('-25')   // -25
parseInt('45.12')   // 45
parseInt('045',10)   // 45
parseInt('70',8)    // 56  (70 в восьмеричной системе это 56 в десятичной)
parseInt('070')     // 56 (ВАЖНО!!! нуль вначале заставит функцию проанализировать строку как восьмеричное число)
parseInt('88',8)   // NaN (в восьмеричной системе нет цифры 8)
parseInt('a1')   // NaN (ВАЖНО!!! Функция по умолчанию не воспринимает число как 16-ричное, если не дописать в начале строки 0x)
parseInt('a1',16)   // 161 (здесь явно указана система счисления)
parseInt('0xa1')   // 161 (правильный формат 16-ричного числа, можно не указывать второй параметр)
parseInt('099')   // 0 (ВАЖНО!!! Число воспринимается как восьмеричное, но содержащее недопустимые символы)
parseInt('0.5e6')   // 0 (ВАЖНО!!! не работает как parseFloat)
parseInt('ZZ',36)   // 1295
parseInt('-FF')   // NaN
parseInt('-FF',16)   // -255
Проблема решилась изменением метода присваивания "parseFloat(document.getElementById('x1').value) ..... parseFloat(document.getElementById('x4').value) "
Так же и в условии:

 
Код:
else if (parseFloat(document.getElementById('x3').value)>6) {
a=parseFloat(document.getElementById('x0').value);
b=parseFloat(document.getElementById('x1').value);
c=parseFloat(document.getElementById('x2').value);
d=parseFloat(document.getElementById('x3').value);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог