2012-03-02 3 views
0

Я назначаю идентификатор элемента «btn_submit» для кнопки write_ok.Если я не нажимаю кнопку записи, я хочу показать предупреждение

Я хотел следующее:

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

Я не знаю, как я могу узнать, какая кнопка была нажата.

Я нашел это, но я не могу заставить его работать: jQuery: how to get which button was clicked upon form submission?

<script type="text/javascript"> 
$(window).bind('beforeunload', function(){ 
    if (#btn_submit was not pressed) 
     return 'If you exit the page, you may lose your changes'; 
}); 
</script> 

ответ

1

Вы можете сделать что-то подобное,

<script type="text/javascript"> 
    var btn_submit_pressed = false; 

    $(window).bind('beforeunload', function(){ 
     if (btn_submit_pressed) 
      return 'If you want to exit page, you may lost your writing'; 
    }); 

    $('#btn_submit').click(function(){ btn_submit_pressed=true; }); 

</script> 
+0

WOW ~ !!! Большой ~ !!! ' ' – OpenCode

0

Вы могли бы ввести переменную:

var isSaved = true; // at the beginning there's nothing unsaved 

Всякий раз, когда пользователь обновляет что-то, набор:

isSaved = false; 

Когда пользователь нажимает кнопку «Отправить», установите:

isSaved = true; 

Тогда в beforeunload, просто проверить:

if(!isSaved) { 
+0

благодарит за ваш ответ. Если я добавлю variale, я должен сделать много работ. – OpenCode

+0

@OpenCode: Не уверен, что я понимаю. Это должно быть довольно тривиально; вам не нужно добавлять больше этих четырех строк кода. – pimvdb

+0

Я просто хочу сделать это, http://stackoverflow.com/questions/5721724/jquery-how-to-get-which-button-was-clicked-upon-form-submission – OpenCode

0

код Pawar является большой идеей. для сжатия и генерации кода, #btn_submit изменен на "input submit".

сообщение взамен появляется только IE не firefox, хром.

<script type="text/javascript"> 
    var btn_submit_pressed = true; 
    $(window).bind('beforeunload', function(){ 
    if (btn_submit_pressed) 
     return 'if you leave this page, chages will be lost.'; 
    }); 
    $('#btn_submit').click(function(){ btn_submit_pressed=false; }); 
</script> 
Смежные вопросы