Rails проверяет, редактируется ли форма, и позволяет пользователю подтвердить перенаправление страницы или закрыть - PullRequest
0 голосов
/ 15 января 2012
Публикация формы

является очень распространенной операцией на веб-сайте, и для лучшего взаимодействия с пользователем нам нужно не допустить, чтобы пользователь ошибочно закрыл окно или щелкнул неправильную ссылку, как на этой странице:)

Стандартный способ или драгоценный камень, чтобы сделать это в рельсах?

Ответы [ 3 ]

2 голосов
/ 15 января 2012
var edited = false;

$('#formId :input').change(function() {
    if(!edited) {
      edited = true;
    }
});

window.onbeforeunload = preventUser();

function preventUser() {
  if(edited) {
    alert("Are you sure?");
  }
}
0 голосов
/ 16 декабря 2014

Добавляя к ответам @harm и @shime, у меня получилось так:

<body onbeforeunload="return 'You have made changes'">
0 голосов
/ 15 января 2012

Если я правильно понял, вы хотите предупредить пользователя, когда он вводит данные в форму и хочет покинуть страницу. Это относится не к рельсам, а к JavaScript.

Вы можете сделать это так:

window.onbeforeunload = "Are you sure you want to leave?";

Вы хотите включить эту опцию, только когда данные введены в форму, поэтому добавьте этот код jQuery

$('input').change(function() {
    if( $(this).val() != "" )
        window.onbeforeunload = "Are you sure you want to leave?";
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...