Я делаю веб-сайт, и у меня есть функциональность, которая позволяет пользователю перетаскивать файлы определенного типа, а затем получать дополнительную информацию об этом файле. У меня есть код, работающий отлично, за исключением одной вещи. У меня есть окно предупреждения (на самом деле окно SweetAlert), которое появляется с информацией, которую пользователь хотел бы просмотреть. У меня есть код, который обрабатывает файл, затем создает json и, наконец, создает html-код с тремя кнопками, каждая кнопка имеет свою собственную функцию, которая находится в моем javascript. Моя проблема в том, что я хотел бы, чтобы пользователи могли нажимать на три разных типа кнопок, чтобы делать разные вещи, но окно SweetAlert действует как новая html-страница поверх моего веб-сайта и имеет свою собственную область действия. Окно предупреждения не распознает мои функции javascript как существующие и поэтому ничего не делает.
Чтобы вызвать это предупреждение, я использую запрос ajax. Это сообщение об успешном вызове функции. Данные в формате json.
success: function(data) {
informUser(printData(data))
},
Это мой javascript, который печатает форматированный json и кнопки. Я не включил некоторые части для простоты, поэтому дайте мне знать, если что-то непонятно в моем коде.
function printData(data) {
var str = ""
str += '<p>Your file was added!</p>';
str += "<p>You can access it at these locations: </p>";
str += "<button onclick='changeView()'/>View all files</button>";
str += "<button onclick='downloadCurrent()'/>Download the current file</button>";
str += '<p>To upload this, click here: </p>';
str +='<button onclick="addAsNewButton()">Add As New</button>';
return str;
};
Это мой SweetAlert, он действует как отдельный файл javascript.
var informUser = function(message){
swal({title: "Congrats on uploading a file!", html: true, text: message, type: "info" });
};
Я читал примеры того, как в SweetAlerts могут быть функции, и мне нужна помощь в вызове моей. Если кто-то думает, что может помочь мне с этим, я готов объяснить все, что может понадобиться, включая то, что я пробовал и потерпел неудачу. Буду даже признателен за общие идеи, как это исправить. Вот ссылка на документацию SweetAlert http://t4t5.github.io/sweetalert/.