2016-07-18 3 views
-3

Привет, мне было интересно, какая разница между методами prompt() и методами confirm()?JavaScript Отмена on Prompt

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

var userInput = prompt("Write your name",""); 
if(prompt == //user cancels//){ 
code to be executed; 
} 

Спасибо.

+0

должен быть подтвердить ('сообщение здесь'); – aldrin27

+1

Этот вопрос уже ответил здесь [link] (http://stackoverflow.com/questions/6962718/javascript-prompt-box-cancel-button) – Amolb

ответ

1

Если пользователь отменяет prompt, он возвращает null.
Поскольку null является falsy, вы можете просто проверить !prompt:

var result = prompt("ask user something"); 
if (!result) { 

}; 

Однако в вашем случае, это выглядит, как вы хотите confirm функцию.
Разница заключается в том, что приглашение представляет собой диалоговое окно ввода текста, которое возвращает введенную строку или null.
Подтверждение - это диалоговое окно «Да/Нет», которое возвращает true или false.

var result = confirm('Click Yes or No!'); 
 

 
// Both approaches are working, choose the one you like: 
 
if (result) console.log('Yes (result)'); 
 
if (result === true) console.log('Yes (result === true)'); 
 

 
// Both approaches are working, choose the one you like: 
 
if (!result) console.log('No (!result)'); 
 
if (result === false) console.log('No (result === false)');

1

На Cancelnull возвращается

var a = prompt("ask user something", "") 
    if (a === null) { 
     alert(' Cancel pressed') 
    } 

JSFIDDLE