как поменять пароль - PullRequest
       2

как поменять пароль

0 голосов
/ 16 ноября 2018

Имеется следующий рубиновый код:

Password: <input type="password" value= <%= @user_credentials.first.encrypted_password %> id="myInput">
<input type="checkbox" onclick="myFunction()">  Show Password

И в js-файле app/assest/js У меня есть функция ниже, но пароль переключения не может бытьсделано при установке флажка.

function myFunction () {
  var x = document.getElementById("myInput");
  if (x.type === "password") {
    x.type = "text";
  } else {
    x.type = "password";
  }
}

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Браузеры автоматически ставят кавычки, если любой пользователь забыл их поставить. Это поведение браузера. Таким образом, если вы ставите какой-либо пробел после какого-либо атрибута, браузер автоматически помещает вокруг него кавычки и игнорирует все, что идет после этого пробела. Который может испортить код разметки вашего элемента.

Не должно быть пробела после какого-либо атрибута в разметке.

value= <%= @user_credentials.first.encrypted_password %>

Вы можете исправить это, заключив их в кавычки:

value="<%= @user_credentials.first.encrypted_password %>"
0 голосов
/ 16 ноября 2018

Проблема в коде атрибута value.

Следующий фрагмент работает нормально.

Так что код js и html в порядке.

Просто правильно отформатируйте динамическую часть ruby.

Я думаю, он должен иметь кавычки (для действительного HTML):

value="<%= @user_credentials.first.encrypted_password %>"

function myFunction() {
  var x = document.getElementById("myInput");
  if (x.type === "password") {
     x.type = "text";
  } else {
     x.type = "password";
  }
}
Password: <input type="password" value="123" id="myInput">
<input type="checkbox" onclick="myFunction()">  Show Password
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...