Скрипт аутентификации - PullRequest
       4

Скрипт аутентификации

0 голосов
/ 14 октября 2019

В настоящее время я работаю над сценарием, который выполняет задачу аутентификации один раз для продуктов с фабричным кодом, чтобы избежать поддельных продуктов.
Моя конечная цель:
- проверить значение пользовательского ввода, если оно соответствует спискуисходных кодов.
- если ввод проверяется впервые и соответствует одному из перенаправлений исходного списка кодов на определенную веб-страницу.
- если ввод пользователя проверяется во второй раз и совпадает доодин из исходных списков проверенных кодов отображает абзац.
- если вход проверен и НЕ соответствует, показывает ФАКЕ.

Вот что я сейчас пишу:

$(document).ready(function(){
  var originalCodes = ['123','1234','12345'];
  var userInputCode = document.getElementById('userInputCode');
  $('form').submit(function(){
    var checkedCodes = [];
    var i;
    for(i=0; i<originalCodes.length; i++){
      if (userInputCode.value === originalCodes[i]){
        window.location.href = "SomeLinkHere";
        checkedCodes.push(i);
        if (userInputCode.value === checkedCodes[i]){
          $('checked').css('display', 'block');
        }
      }else{
        $('.fake').css('display', 'block');
      }
      return false;
    }
  });
});
.fake {display:none;}
.checked{display:none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="post">
<p>Product Code: <input type="text" id="userInputCode"></p>
<input type="submit" value="Check" id="submit">
</form>

<h2 class="fake">Your've a Fake product.</h2>
<h2 class="checked">This code was previously authenticated.</h2>

Я столкнулся с проблемой в цикле массива originalCodes, если оператор if не может проверить все значения.

У кого-нибудь естьидея? Заранее спасибо.

1 Ответ

0 голосов
/ 14 октября 2019

Четыре ошибки:

  • $('.form') означает элементы с классом form, а не тегом form. Вместо этого используйте $('form').
  • Как только вы уйдете с window.location.href = "SomeLinkHere";, состояние JavaScript будет очищено. Вам нужно будет сохранить проверенные коды где-нибудь более устойчивым, если вы хотите это сделать.
  • Вы добавляете код в список проверенных кодов, а затем проверяете, есть ли он там, который всегда будет. Вам нужно обратить их вспять.
  • Если один и тот же код проверяется несколько раз, checkedCodes может в конечном итоге стать больше, чем originalCodes, и тогда ваш цикл пропустит некоторые из них.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...