Подождите ввода пользователяJavascript

Форум по Javascript
Ответить
Anonymous
 Подождите ввода пользователя

Сообщение Anonymous »

У меня есть HTML-страница с некоторыми данными, которые необходимо сохранить или удалить, прежде чем можно будет выполнить некоторые другие действия. У меня есть несколько функций, которым нужно будет сделать паузу, дождаться, пока пользователь примет решение, а затем, основываясь на этом решении, продолжить работу по одному из двух путей. Самое интересное, что каждая функция уникальна. Например, функция A выполнит 3 строки кода, запросит ввод, а затем выполнит еще 2–4 строки в зависимости от ответа. Функция B выполнит две разные строки кода, запросит ввод, а затем выполнит другой набор кода. Я знаю, что могу использовать Prompt(), чтобы открыть диалоговое окно браузера, но мне это не нужно. Вместо этого я хочу, чтобы пользователь нажимал кнопку в модальном окне. Как мне это сделать, чтобы код можно было использовать повторно?
Я знаю, что могу разбить каждую из них на две отдельные функции (в общей сложности их 4 ниже), но я бы предпочел не делать этого.
// Note: I know this code doesn't make a lot of sense and isn't runnable. It is to demonstrate the
// structure of what I'm trying to do.

function doSomething() {
let a = now();
console.log("it is" + a);

// TODO: show a modal asking if save or discard changes

if (discard) {
$("myContainer").replaceWith("");
} else {
saveChanges();
}

function doSomethingElse() {
let b = 12 * 12;
console.log("12 x 12 is" + b);
let c = 1 + 1;
console.log("1 + 1 is" + c);

// TODO: show a modal asking if save or discard changes
// Wait for user input

if (discard) {
$("myContainer").replaceWith("");
} else {
alert("Saving Changes Now!");
saveChanges();
}

$("#button1").on("click", doSomething);
$("#button2").on("click", doSomethingElse");


Подробнее здесь: https://stackoverflow.com/questions/798 ... user-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»