2015-12-18 4 views
0

Мне нужно с помощью предупреждающего сообщения типа «Вы хотите перейти?» когда пользователь изменит некоторые данные, но не сохранил их и попытался перейти на другую вкладку.Как показать диалог в javascript?

Я хочу, чтобы да или нет функции при нажатии на другую вкладку. Не покидайте эту страницу или оставайтесь на этом.

Kinldy помогите мне. Заранее спасибо.

function goodbye(e) { 
    if (!e) e = window.event; 
    //e.cancelBubble is supported by IE - this will kill the bubbling process. 
    e.cancelBubble = true; 
    e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog 

    //e.stopPropagation works in Firefox. 
    if (e.stopPropagation) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    } 
} 
window.onbeforeunload = goodbye; 

Я использовал это, но он не показывает да/no.and в одной странице несколько кнопок есть. После нажатия этой страницы происходит обновление, и это сообщение подходит. может кто-нибудь мне помочь.

+0

читать документы для [события beforeunload] (https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload) –

ответ

0

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

Самый простой пример использования:

window.onbeforeunload = function() { 
    return "Do you want to navigate away?"; 
}; 

Если у вас есть какие-либо другие вопросы, обратитесь к the documentation.

0

Если вы просто хотите отобразить некоторую информацию, тогда может оказаться полезным window.alert (Info). Так как вы должны принять мнение от пользователя, вы можете использовать window.confirm (ваш вопрос)

0
confirm("Do you want to leave this page?"); 

Confirm похож на окно предупреждения, что всплывающие окна up.But это имеет значение, он дает пользователю два варианта: 'Ok' и 'cancel'. Если пользователь нажмет кнопку «ok», окно выгрузится и пользователь будет успешно перемещаться по странице. Подтверждение часто используется для подтверждения и подтверждения, как следует из названия.

+0

Да, я могу это сделать . но проблема в том, что пользователь нажмет на какую-либо вкладку, на которую должно появиться ее сообщение. Эта вещь будет работать, если пользователь нажмет на какую-либо конкретную вкладку или ссылку или кнопку. Я прав? – Riz

+0

Вам нужно ассоциировать его с обработчиком событий ... Как в форме отправки ... если у вас есть 'onsubmit =" retrun check() "' .... Внутренняя проверка ... поставьте поле подтверждения. Msgstr "Вы хотите отправить?" ... Пользователь нажимает OK ... Возвращаемое значение верное и форма будет отправлена. .Если вы хотите связать его с действием пользователя .... –

0

<html> 
 
    <body> 
 
    <p>Click the button to demonstrate line-breaks in an alert box.</p> 
 
    <button onclick="myFunction()">click it</button> 
 
    <script> 
 
     function myFunction() { 
 
     alert("Do you want to navigate away ?"); 
 
     } 
 
     </script> 
 
    </body> 
 
</html>