Javascript: input type = "email" значение элемента не обновляется с использованием атрибута .value - PullRequest
0 голосов
/ 15 сентября 2018

Это кажется странной проблемой.Я работаю над расширением, которое поддерживает несколько браузеров.В процессе, когда пользователь попадает на страницу входа, мой плагин проверяет поля ввода имени пользователя и пароля и заполняет их некоторыми текстовыми значениями.У меня есть веб-сайт с элементами ввода input[type="email] и input[type="password"] для имени пользователя и пароля соответственно.

Мой плагин может идентифицировать и выбирать элементы ввода с помощью селекторов, но когда значение элемента ввода обновляется с помощью element.value = "<email>", я вижу обновленное значение в пользовательском интерфейсе, но атрибут "value" <input> на HTML не обновляется.

После некоторых строгих следов я обнаружил, что мне нужно вызвать событие ввода для обновления атрибута значения элемента <input>, который работает на chrome, Firefox, safari и edge, но не на IE.Для всех браузеров я вижу, что атрибут «значение» обновляется, как только событие ввода запускается для элемента, но не для IE.В чем может быть причина?IE версия 11.0.9600.

function updateInput(element, value){
	element.value = value;
  //you can see the element outer HTML is not updating
  window.alert(
  "element.value: " + element.value +" \n element:" + element.outerHTML);
}

updateInput(document.querySelector('input[type="email"]'), "e@e.com");
<div>
  <div class="auth0-lock-input-block auth0-lock-input-email">
    <div class="auth0-lock-input-wrap auth0-lock-input-wrap-with-icon">
      <input type="email" name="email" class="auth0-lock-input" placeholder="yours@example.com" autocomplete="off" autocapitalize="off" value>
    </div>
    </div>
    <div class="auth0-lock-input-block auth0-lock-input-show-password">
      <div class="auth0-lock-input-block auth0-lock-input-password">
        <div class="auth0-lock-input-wrap auth0-lock-input-wrap-with-icon">
          <input type="password" name="password" class="auth0-lock-input" autocomplete="off" autocapitalize="off" value placeholder="your password">
        </div>
    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...