Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка Поля. Пройдет ли eval? 
V
    Опции темы
Innuendo
Дата 29.1.2006, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



У меня есть поле, в которое заводят формулу.
Потом происходят действия с этой формулой через eval.
Когда eval задан не корректно, то просто ничего не вводится.
А как мне можно сделать проверку этого поля? Если eval не пройдёт, чтоб выдало сразу, что в формуле ошибка.
типа если ввели:
(i+j)+a/2
то всё ОК. это все переменные существуют, и всё сработает.
А вот если ввели:
(i+y)+a/2, то скрипт не нашел y и будет ошибка...
или как многие привыкли писать 2j вместо 2*j...


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Ciber SLasH
Дата 29.1.2006, 04:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Код

try {
    var rez = eval("i+j");
}
catch (e) {
    alert(e.description)  // действия при ошибке
}

PM   Вверх
Innuendo
Дата 14.2.2006, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



если я ввожу зак типа плюс, или умножить и т.д, то он ругается о ошибке smile


--------------------
=)
PM MAIL ICQ Jabber   Вверх
smartov
Дата 14.2.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Цитата(Innuendo @ 13.2.2006, 23:20 Найти цитируемый пост)
если я ввожу зак типа плюс, или умножить и т.д, то он ругается о ошибке

Не ругается. Проверено IE 6.0, FF 1.5, Opera 9.0 TP2
Код

<body>
<script>
var i =1;
var j =2;
var k = 5;
try {
    var rez = eval("(i+j)*k+4");
    alert(rez);
}
catch (e) {
    alert(e.description)  // действия при ошибке
}
</script>
</body>

PM MAIL   Вверх
Innuendo
Дата 14.2.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



я понял почему ошибка.. я поставил проверку на keyup поля..
и когда пользователь заводит 5+ и еще не введ второе значение, то вот скрипт проверял уже такое.. поэтому давал ошибку.
Всё спасибо. проблема решена, вопрос исчерпан! smile


--------------------
=)
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.