Альтернативные способы автозаполнения текстового поля с использованием JavaScript? - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь автоматически заполнить поле username/password на веб-сайте, используя javascript, однако использование .value не работает для этой конкретной страницы. Текст заполнен, но веб-сайт сообщает username/password пусто, как будто не было никаких данных. У автозаполнения Safari также часто возникают проблемы на iPhone, однако Chrome справляется с этим совершенно так ясно, что есть способ.

Я использую WkWebView в swift и оцениваю javascript для попытки автозаполнения данных.

Вот сайт, если это поможет: login.usfca.edu/login/login

Код, который я пробовал:

document.getElementById('username').value='TestUsername';
document.getElementById('password').value='TestPassword';

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Примечание: я не быстрый программист, но считаю, что вы используете простой HTML для написания своих скриптов. Если, если вы не используете простой HTML, просто проверьте свой элемент, чтобы получить id того же самого, чтобы убедиться, что вы указали правильные id s .

  • Необходимо предоставить id для входов, если вы хотите присвоить значения, используя getElementById.


Демонстрация -

document.getElementById('username').value='TestUsername';
document.getElementById('password').value='TestPassword';
<form action="#" autocomplete="on">
  username: <input type="text" name="username" id="username"><br><br>
  password: <input type="password" name="password" id="password"><br><br>
  <input type="submit">
</form>

Где autocomplete опционально ly предоставляет вам кэшированные подсказки из браузера при заполнении ввода.

0 голосов
/ 02 января 2019

Вы можете использовать этот код для автозаполнения

<head>
  <meta charset="utf-8">
  <title>Prefill inputs</title>
</head>

<body><p>Example Enter Apple...</p>
 Enter: <input id="main" class="input_1" list="competition" type="text" name="competition">
  <datalist id="competition" class="listos">
    <option value="Mango">Mango</option>
    <option value="Apple">Apple</option>
    <option value="Orange">Orange</option>
  </datalist>



  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script>
    const $main = $('#main');
    const $inputs = $('.sub');

    const values = {
      trigger: 'community shield',
      communityShield: ['one', 'two', 'three']
    };

    $main.on('keyup input', function () {
      const inputValue = this.value.toLowerCase()
      if (inputValue === values.trigger) {
        $inputs.each(function (i, el) {
          el.value = values.communityShield[i];
        });
      }
    });
  </script>
</body>

</html>
...