Доброго времени суток всем. Работаю над проектом, и появилась задача копирование файлов на сервере. Что бы копировать файлы надо спрашивать пользователя какой копировать, а какой нет( в случае совпадения). Всю логику сделал, но возникла проблема, надо выкидывать окошко с вопросом. Три кнопки: Копировать, Вставить, Отменить, в зависимости от нажатия на кнопку возвращается то или иное значение( типо confirm, только три кнопки а не две), и вот тут возникла проблема, надо дождаться ответа пользователя и только потом идти дальше.
Вот код окна:
var answer = false;
function filesQuestion(file_name, type){
var title = 'Хотите ли вы ';
if (type)
title += 'файл: '+file_name+'?';
else
title += 'папка: '+file_name+'?';
$('#quastion').dialog({
autoOpen: false,
modal : true,
resizable: false,
width : 340,
height : 200,
dialogClass : 'no-close',
title : title,
resizable: false,
buttons:[
{text : 'Вырезать',
click : function(){
$(this).dialog('close');
callback(2);
}},
{text : 'Копировать',
click : function(){
$(this).dialog('close');
callback(1);
}},
{text : 'Отменить',
click : function() {
$(this).dialog('close');
callback(-1);
answer =-1;
}}
]});
$('#quastion').dialog('open');
return answer;
}
Вот код вызова частичный:
if (copy)
{
var type = NaN;
filesQuestion(copy_list[i][j][2],copy_list[i][j][3]);
console.log(answer);
if ((type == FILE_REPLACE)||(type == FILE_COPY))
{
dict_copy[copy_list[i][j][0]] = type;
break;
}
else
{
array_not_copy.push(copy_list[i][j][0]);
break;
}
}
else
{
dict_copy[copy_list[i][j][0]] = FILE_REPLACE;
}
}
else
{
dict_copy[copy_list[i][j][0]] = FILE_REPLACE;
}
}
else continue;
}
else
// Добавляем оставшиеся файлы на уровнях, которые глубже корня
for (var j = 0; j < copy_list[i].length; j++)
if(i == 0)
{
dict_copy[copy_list[i][j][0]] = FILE_REPLACE;
}
else
if (array_not_copy.indexOf(copy_list[i][j][1]) == -1)
{
dict_copy[copy_list[i][j][0]] = FILE_REPLACE;
}
}
}
Вопрос, как дождаться от пользователя нажатия на кнопочку и только тогда идти дальше?