Подскажите пользователь, чтобы заполнить форму перед выходом из веб-страницы - через JavaScript

StackOverflow https://stackoverflow.com/questions/3451127

  •  27-09-2019
  •  | 
  •  

Вопрос

У меня есть веб-форма на моей веб-странице. Перед тем, как пользователь покинет страницу, я хочу всплывающее сообщение JavaScript, спрашивая пользователя, если они завершили форму с помощью кнопки «Да» или «Нет». Если пользователь нажимает «да», то они доставляются на страницу, на которую они намеревались. Однако, если пользователь нажимает «нет», то пользователь остается на этой странице.

Я не очень знаком с JavaScript, поэтому какое-либо руководство будет высоко оценено. Я подозреваю, что я бы использовал что-то вроде ниже:

<ELEMENT onbeforeunload = "handler" ... >

Заранее спасибо.

Сплит P.

Это было полезно?

Решение

2 1 вещь (спасибо @horray, я помогаю).

Вам лучше обнаружить, была ли форма заполнена программно, то если пользователь нажимает, чтобы продолжить, не предоставив критическую часть данных, попросите их. Если они решают не предоставлять это, отпустите их.

Например:

var requiredField = document.getElementById("required");
if (requiredField.value == "")
{
    if (!confirm("Are you sure you want to go without saving your work?")){
       requiredField.focus();
    }
}

Вы можете поставить это в обработчиках кликов для ссылок, кнопки отправить кнопки или в событии Foodunnload, как вы упомянули.

Другие советы

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

Сказав это, посмотрите на эта страница, что скажет вам все, что вам нужно знать.

Что делает onbeforeunload quirky - это то, что если вы вернуте что-нибудь вообще в обработчике событий, он появится окно оповещения о подтверждении, спрашивая пользователя, если он или она действительно уверен, что они хотят покинуть страницу

...

Вы можете вставить свой собственный пояснительный текст между этими двумя линиями, включая строку в операторе возврата. Например:

<script type="text/javascript">
  window.onbeforeunload = function () {
    return "The text you want the alert box to say.";
  }
</script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top