Я почти уверен, что вы сделали знаки <&> задом наперед.
если у вас есть эти числа: низкая цена 5, предлагаемая 8 и высокая цена 10, тогда ваш код будет выглядеть так
если 5 <8, то (что ИСТИНА) <br>- не разрешать код -
, но 8 попадает в ваши границы. Я что-то упустил?
Изменить: я заявил об этом в комментарии, но я должен уточнить это и здесь. Это проблема с вашими операторами OR. Операторы OR проходят через все операторы один за другим, сразу же, когда он встречает успешный оператор OR, он запускает код. Таким образом, если он имеет значение ИСТИНА в первом операторе, он НЕ БУДЕТ читать остальную часть оператора if (если только это не сложный оператор if, содержащий кучу правил logi c), он пропустит все остальное.
Вот почему ваш код не работает, во-первых, потому что ваши знаки <и> перевернуты, а ваш logi c ошибочен. Когда число выше наименьшего, отлично, оно работает, , тогда оно никогда не прочитает остальную часть оператора if . Поэтому, когда он помечается как ложный для первого оператора, он будет считаться ИСТИННЫМ для второго, и он будет продолжен в любом случае. Так используют все языки программирования или, обратитесь к логической таблице c.
Чтобы пересмотреть ваш код, чтобы сделать его пригодным для использования и заставить его работать (что, я думаю, вы хотите, чтобы убедиться, что он попадает в две границы), он должен быть написан следующим образом:
if(parseFloat(low_price) >= parseFloat(offer_price) || parseFloat(offer_price) >= parseFloat(high_price))
alert("NOT ALLOWED VALUES");