Форма ввода не принимает пробелы - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть форма, использующая JavaScript, которая отправляет пользователя на другую страницу в зависимости от его ввода с помощью операторов "if / else". Однако поле ввода не будет принимать пробелы. Он будет принимать все символы, кроме пробелов. Я не могу понять, что является причиной этого.

РЕДАКТИРОВАТЬ: я добавил HTML для всей формы, включая кнопку отправки.

РЕДАКТИРОВАТЬ 2: Я также обновил свой JS, чтобы отразить операторы 'switch', а не иначе, если, в соответствии с рекомендацией мистера Джоджо.

РЕДАКТИРОВАТЬ 3: Просто чтобы уточнить, если я пропущу пробелы, это будет работать. Но если я просто наберу их, он не будет показывать пробел.

Ниже приведены HTML, CSS и JS, которые соответствуют форме ввода.

<!-- This is the HTML for the entire form -->

    <<form onSubmit="return checkAnswer();">
                                              <input class="nice-select wide" placeholder="Enter Your State" id="state" type="text" maxlength="55" class="box" autofocus />
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--<p>You have to pay: <span>$0</span></p>-->
                            <div class="submit_btn">
                                <button class="boxed-btn3" value="SUBMIT" type="submit">Continue</button>
                            </div>
                          </form>

<!-- This is the script that is in the head of the document controlling the redirect. -->

    <script>
    function checkAnswer(){
      var response = document.getElementById('state').value;

      if (response == "Kentucky")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "kentucky")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "KY")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "ky")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "New York")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "new york")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "NY")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "ny")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington St")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington ST")
        location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington st")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "washington")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "washington state")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington State")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "Washington state")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "washington State")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "wa")
      location = 'https://linxdalton.com'; // 'right.html';

      else if (response == "WA")
      location = 'https://linxdalton.com'; // 'right.html';

      else
      location = 'https://google.com'; // 'wrong.html';
      return false;
    }
    </script>

Ниже приведены все CSS, связанные с элементом ввода.

.nice-select::after {
  content: "\f0d7";
  display: block;
  pointer-events: none;
  position: absolute;
  right: 30px;
  top: 50%;
  transition: all 0.15s ease-in-out;
  width: 5px;
  font-family: 'fontawesome';
  color: #ddd;
  transform: translateY(-50%);
  font-size: 16px;
  right: 25px;
  color: #AAB1B7;
  height: auto;
  margin-top: 0;
}


-webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: -internal-light-dark-color(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    -webkit-appearance: textfield;
    background-color: -internal-light-dark-color(white, black);
    -webkit-rtl-ordering: logical;
    cursor: text;
    margin: 0em;
    font: 400 11px system-ui;
    padding: 1px;
    border-width: 2px;
    border-style: inset;
    border-color: initial;
    border-image: initial;
}

-webkit-tap-highlight-color: blue;
    background-color: #fff;
    border-radius: 5px;
    border: solid 1px #e8e8e8;
    box-sizing: border-box;
    clear: both;
    display: block;
    float: left;
    font-family: inherit;
    font-size: 14px;
    font-weight: normal;
    height: 42px;
    line-height: 40px;
    outline: none;
    padding-left: 18px;
    padding-right: 30px;
    position: relative;
    text-align: left !important;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
    width: auto;
}


    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 5px;
    color: #7A838B;
    margin-bottom: 15px;


Это весь код, связанный с этим элементом ввода. Дайте мне знать, если вы сможете найти причину, по которой он не будет принимать пробелы!

Спасибо!

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

лучше кодировать https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch

 function checkAnswer(){
  let response = document.getElementById('state').value;

  switch (response) {
    case 'Kentucky':
    case 'kentucky':
    case 'KY':
    case 'ky':
    case 'New York':
    case 'new york':
    case 'NY':
    case 'ny':
    case 'Washington':
    case 'Washington St':
    case 'Washington ST':
    case 'Washington st':
    case 'washington':
    case 'washington state':
    case 'Washington State':
    case 'Washington state':
    case 'washington State':
    case 'wa':
    case 'WA':
    location = 'https://linxdalton.com'; // 'right.html';
      break;

    default:location = 'https://google.com'; // 'wrong.html';
      break;
  }

  return false;
}
0 голосов
/ 09 февраля 2020

Я решил это! Это был скрипт, который я связал со страницей, которая затрагивала пробелы, я не совсем уверен, какое содержимое скрипта затрагивало пробелы, но тем не менее проблема решена.

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