jQuery Больше чем и Меньше чем проверка - PullRequest
0 голосов
/ 25 января 2020

Это моя форма:

<form class="fms-quote-form" action="https://web.com/quotes" method="get">
<input name="wpf126904_18" id="fms-zip" type="number" placeholder="Enter your Zipcode">
<input type="submit" value="Get My Rates">
</form>

А эта моя jQuery это не работает:

$('.fms-quote-form').submit(function() {

if ( $('#fms-zip').val() >= 90000 AND <=96162 ) {
  return true;
} else {
    window.open('https://smartfinancial.com/auto-insurance-rates', '_blank');
    return false;
  }
});

Как я (я) проверяю, что значение # fms-zip больше 90000 и меньше 96162 для отправки формы и (ii) перенаправления пользователя на другой веб-сайт, если введено какое-либо другое значение?

С нетерпением ждем вашего ввода :)

Ответы [ 3 ]

1 голос
/ 25 января 2020

Чтобы проверить, является ли ZIP больше 90000 и меньше, чем 96162, вам необходимо использовать:

$(function() {
  $('.fms-quote-form').submit(function() {
    let zip = parseInt($('#fms-zip').val());
    let isZipValid = zip >= 90000 && zip <= 96162;
    if (isZipValid) {
      return true;
    } else {
      window.open('https://smartfinancial.com/auto-insurance-rates', '_blank');
      return false;
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="fms-quote-form" action="https://web.com/quotes" method="get">
  <input name="wpf126904_18" id="fms-zip" type="number" placeholder="Enter your Zipcode">
  <input type="submit" value="Get My Rates">
</form>
1 голос
/ 25 января 2020

Вы можете попробовать вот так -

$(function() {
  $('.fms-quote-form').submit(function() {
    var valueZip= parseInt($('#fms-zip').val());

    if (valueZip >= 90000 && valueZip <= 96162) {
      return true;
    } else {
      window.open('https://smartfinancial.com/auto-insurance-rates', '_blank');
      return false;
    }
  });
});
1 голос
/ 25 января 2020

Всегда проверяйте консоль ошибок - вы предполагаете, что синтаксис неисправен. AND будет выдавать ошибку - вам нужно &&.

Более того, вы не можете просто указать свое большее число и предположить, что JavaScript будет знать, чтобы сравнить его с тем же значением предмета, которое вы сравнивали чем меньше значение, тем больше - вам нужно повторить тему.

let val = parseInt($('#fms-zip').val());
if (val >= 90000 && val <= 96162 ) { //<-- note 2 references to @val

Как указывает @Alessio Cantarella, вам также необходимо привести значение к числу - чтение значения поля возвращает строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...