Javascript Форма отправки проблемы остановки потока ссылок - PullRequest
0 голосов
/ 03 июня 2011

У меня есть форма, я хочу отслеживать, если она грязная, если она есть, если пользователь нажимает ссылки, чтобы уйти со страницы, я хочу предложить им сохранить, в идеале я хочу передать URL на сервер,если сохранение на сервере работает, оно перенаправляет URL, если нет, то возвращается на ту же страницу с ошибками проверки.

Вот мой код:

var isDirty;
isDirty = 0;
function setDirty() {
        isDirty = 1;
}

function checkSave() 
{

    var sSave;
    if (isDirty == 1) 
    {
      sSave = window.confirm("You have some changes that have not been saved. Click OK to save now or CANCEL to continue without saving.");
      if (sSave == true) 
      {
        $('submitted_by_javascript').value = "true";
        $('main-edit-form').submit();
        return false;
      } 
      else
      {
        return true;
      }
    }
}

<a href="/registrar_data_forms/41/contacts/71/edit" onclick="checkSave();">Edit</a>

Моя проблема - перваяКажется, даже когда я возвращаю false из функции checkSave (), страница все равно перенаправляется на ссылку, по которой щелкнули.

Странно то, что иногда форма отправляется, работает, затем идет ссылка.Иногда ссылка просто переходит, и форма никогда не отправляется ...

Ответы [ 2 ]

1 голос
/ 03 июня 2011

В вашем теге измените обработчик onclick следующим образом:

onclick="return checkSave();"

Будет следовать href, если onclick явно не возвращает false, поэтому вам нужно передать возвращаемое значение из checkSave ().

0 голосов
/ 03 июня 2011

Я полагаю, что вам нужно, чтобы expiness возвращал что-то из onclick:

onclick="return checkSave();"

для предотвращения навигации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...