![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
Доброго времени суток!
Проблема в следующем. У меня есть код ява-скрипта на проверку корректности введенных данных: if ((vznos<cena*per/100)||(vznos>=cena)) avs=false; else avs=true; где vznos - сумма авансового взноса cena - стоимость авто per - процент от стоимости авто, определяющий минимальный авансовый взнос(равен 30%) теперь по сути при значении cena до 99 999 включительно (и, соответственно vznos от 30 000) все работает правильно, но как только cena принимает значение 100 000 (vznos, к примеру, 35 000), то на проверке (vznos>=cena) флагу присваивается значение false. Для проверки пишу код if(vznos>=cena)alert(vznos+">="+cena); Получаю в сообщении: 35000>=100000 Причем, если этот фрагмент кода выписываю в отдельный хтмл-файл, то все работает правильно. Подскажите, можно ли с ним как-то бороться? -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Не понимаю что у Вас там не так
у меня всё прекрасно считает |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
1. var cena=100000; 2. У меня тоже - в отдельном файле все отлично работает, а на исходной странице - не хочет -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Пробовал и 100k - работает. Ну не знаю-пройдитесь отладчиком по скрипту, а то бред какой-то у Вас получается
|
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
Я не перестаю удивляться
есть строка vznos=chooser.form.elements["vznos_new"].value; если alert(chooser.form.elements["vznos_new"].value) получаю 35000. Если же alert(vznos) - пустое сообщение. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
заметил одну закономерность.
у меня функция вызывается два раза: 1. на onfocus поля ввода vznos 2. на onclick кнопки проведения расчетов В первый раз, естественно,флаг возвращает ложное значение, т. к. vznos=="". Во второй он значение НЕ МЕНЯЕТ. Т. е. когда непосредственно перед проверкой принудительно прописываю vznos=35000; cena=100000; per=30; то оба раза флаг получает значение true. Странно, все параметры передаются правильно - проверял.... -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Хм...Проверяйте тогда промежуточные значения - мож реально там 1000k получается
|
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
Ситуация такова, что в первом поле указываю ст-ть автомобиля, а на onfocus поля "взнос" вызываю функцию. Что здесь получаю false не удивительно, т. к. поле ввода еще не заполнено.
Но потом нажимаю на onclick кнопки "расчет" вызывается та же функция, но возникает чувство, что функция не выполняется, хотя это точно не так, и в упор выдает 30000>100000. Один момент. Если непосредственно перед проверкой задаю значение vznos=30000; то проверяет правильно,а если передаю параметром (значение то же) - 30000>100000. И именно начиная со 100 000(99 999 работает правильно). -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 9 Всего: 67 |
parseInt не пробовали? А то лично у меня такое впечатление, что вы не числа а строки сравниваете.
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
Действительно :-[ Все работает Не скажете, в таком случае, почему до 100тыс строками все отлично работает? -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 9 Всего: 67 |
наверное потому что попадали на строки, скажем, 55 < 999
вы попробуйте 9 < 10 и получите тот же результат что и поле 100тыс -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |