Onbeforeunload исключение - PullRequest
       2

Onbeforeunload исключение

0 голосов
/ 29 июля 2011

Я пытаюсь сделать исключение для onbeforeunload и предупреждение о потере данных, когда количество отличается от нуля:

Я пробовал это:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>

<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>

<body>
 <form>   
<p><input type="text" value="0" maxlength="12" id="qty" class="input-text qty" name="qty2603"></p>
<p><input type="text" value="0" maxlength="12" id="qty" class="input-text qty" name="qty2613"></p>
<p><input type="text" value="0" maxlength="12" id="qty" class="input-text qty" name="qty2606"></p>


<p><a href="http://www.google.com">Google</a></p>
<p>
  <input type="submit" name="Submit" value="Envoyer" onclick="prompt = false;" />


</p>
 </form>

<script type="text/javascript">
$(window).bind('beforeunload', function(e) {
    var prompt = true;
    $('input.qty').each(function(i, input) {
      if ($(input).val() != '0') {
          prompt = true;
      }
    });

    if (prompt) {
        return e.returnValue = 'Some warning message';
    }
});
</script>

</body>
</html>

, но это не такработать как я хочу ...

кто-нибудь может помочь?

Большое спасибо.

1 Ответ

0 голосов
/ 29 июля 2011

prompt равно всегда true: по умолчанию, и когда что-то отличается от нуля.

Вместо этого установите по умолчанию значение false и при необходимости измените на true:

var prompt = false; // set to false by default

$('input.qty').each(function(i, input) {
  if ($(input).val() != '0') {
      prompt = true;
  }
});

if (prompt) {
    return e.returnValue = 'Some warning message';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...