Значения флажка Microsoft Edge не сохраняются, когда мы переходим на какую-либо страницу и возвращаемся на текущую страницу с помощью кнопки возврата браузера? - PullRequest
0 голосов
/ 26 июня 2019

Если мы установим флажок и перейдем куда-нибудь и вернемся с помощью кнопки возврата браузера, значения сохранятся в (IE, FF и Chrome) должным образом. Но в Microsoft Edge значения флажков не сохраняются.

Сохраните приведенный ниже контент как файлы 1.html и 2.html.

Я хочу использовать Microsoft Edge, и даже после перехода на следующую страницу и возврата на текущую страницу все равно значения флажка (отмеченные) должны сохраняться.

1.html файл.

    <!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Vertical (basic) form</h2>
  <form action="2.html">
    <div class="form-group">
      <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email" name="email" autocomplete="on">
    </div>
    <div class="form-group">
      <label for="pwd">Password:</label>
      <input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pwd">
    </div>
    <div class="checkbox">
      <label><input type="checkbox" class="form-control" id="remember" name="remember" autocomplete="on"> Remember me</label>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>

</body>
</html>

И 2.html файл

<html>
<body>Testing browser back button and state of the checkbox value</body>
</html>

1 Ответ

0 голосов
/ 27 июня 2019

Да, это известная проблема в Edge.С моей стороны такая же ситуация, и я также нахожу отчет об ошибке .Если вы хотите сохранить значение флажка в Edge, вы можете использовать Веб-хранилище для хранения состояния / значения.

Вы можете добавить этот скрипт в 1.html:

<script>
    function myfunction() {
            //check whether the browser support storage
            if (typeof (Storage) !== "undefined") {
                // Code for localStorage/sessionStorage.

                if (sessionStorage.checkboxstatus == 'true') {
                    document.getElementById("remember").checked = true;
                }
                else {
                    document.getElementById("remember").checked = false;
                }

                //checkbox click event: use session storage to store the state
                document.getElementById("remember").addEventListener("click", function () {
                    if (document.getElementById("remember").checked) {
                        sessionStorage.checkboxstatus = true;
                    }
                    else {
                        sessionStorage.checkboxstatus = false;
                    }
                });

            } else {
                // Sorry! No Web Storage support..
                alert("No web storage support");
            }
        };
</script>

Затем добавьте onload="myfunction();" в тег <body>.Результат выглядит так:

enter image description here

...