Сообщение (оповещение) с запросом подтверждения - PullRequest
1 голос
/ 26 мая 2019

Я новичок в JS.

У меня есть этот код:

            var fileLimit = parseInt(1);

            function refreshFileList() {
                $(".dz-preview").remove();
                $.ajax({
                    url: 'http://test/admin/showFilesDJS?type=SplashImage&id=1',
                    type: 'get',
                    dataType: 'json',
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                    },
                    cache: false,
                    success: function (response) {

                        $.each(response, function (key, value) {
                            var mockFile = {
                                name: value.name,
                                size: value.size
                            };
                            dpzMultipleFiles.emit('addedfile', mockFile);
                            dpzMultipleFiles.emit('thumbnail', mockFile, value.path);
                            dpzMultipleFiles.emit('complete', mockFile)
                        })
                    },
                    error: function (response) {
                        alert('Nastąpił problem z JSON. Proszę o kontakt z administratorem serwisu.');
                    }
                });
            }


            Dropzone.options.dpzMultipleFiles =
                {
                    maxFiles: fileLimit,
                    clickable: true,
                    thumbnailWidth: 250,
                    thumbnailHeight: 250,
                    autoProcessQueue: true,
                    dictDefaultMessage: '',
                    uploadMultiple: true,
                    paramName: "myFile",
                    acceptedFiles: ".jpg,.jpeg",
                    addRemoveLinks: true,
                    timeout: 50000,
                    dictRemoveFile: 'Usuń plik',

                    init: function () {
                        dpzMultipleFiles = this;
                        refreshFileList();

                        this.on("thumbnail", function (file, dataUrl) {
                            $('.dz-image').last().find('img').attr({width: '100%', height: '100%'});
                        }),

                            this.on('completemultiple', function (file, json) {
                                //$('.sortable').sortable('enable');
                            });
                        this.on('success', function (file, json) {
                            //alert('aa');
                        });

                        this.on('addedfile', function (file) {
                            fileLimit = fileLimit - 1;
                        });

                        this.on('drop', function (file) {
                            fileLimit = fileLimit + 1;
                        });

                        this.on("maxfilesexceeded", function (file) {
                            alert('Plik ' + file.name + ' nie został wysłany na serwer. Limit plików został przekroczony!')
                            this.removeFile(file);
                        });
                    },


                    removedfile: function (file) {
                        $.ajax({
                            headers: {
                                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                            },
                            cache: false,
                            type: 'POST',
                            url: 'http://test/admin/deleteDJS?id=' + file.name + 'type=SplashImage',
                            data: {filename: file.name, id: file.name, type: 'SplashImage'},
                            success: function (data) {
                                console.log("File has been successfully removed!!");
                                //refreshFileList();
                            },
                            error: function (e) {
                                console.log(e);
                            }
                        });

                        var fileRef;
                        return (fileRef = file.previewElement) != null ?
                            fileRef.parentNode.removeChild(file.previewElement) : void 0;
                    }
                };
            $(function () {
                $(".dropzone").sortable({
                    items: '.dz-preview',
                    cursor: 'move',
                    opacity: 0.5,
                    containment: '.dropzone',
                    distance: 20,
                    tolerance: 'pointer',
                    update: function (event, ui) {
                        $(".dz-filename span").each(function (index) {
                            $.ajax({
                                headers: {
                                    'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                                },
                                url: 'http://test/admin/changeOrderFilesDJS?type=SplashImage&id=1&index='+index+'&file='+ $(this).text(),
                                dataType: 'text',
                                type: 'post',
                                cache: false,
                                data: $(this).serialize(),
                                success: function (data, textStatus, jQxhr) {
                                },
                                error: function (jqXhr, textStatus, errorThrown) {
                                    alert('Nastąpił problem z JSON. Proszę o kontakt z administratorem serwisu.');
                                }
                            });
                        });
                    }
                });
            });

Это Dropzone.JS.Этот код работает нормально.

Я хотел бы добавить после нажатия на кнопку удалить (usuń plik) - вопрос: вы действительно хотите удалить этот файл?Только после нажатия на ДА файл будет удален.

Как это сделать?Мне нужно простое предупреждение с вопросом в JS

Ответы [ 3 ]

2 голосов
/ 26 мая 2019

Вы можете добавить подтверждение в функции удаления:

                    removedfile: function (file) {
                        if (!confirm('Are you sure?')) {
                            return;
                        } 
                        $.ajax({
                            headers: {
                                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                            },
                            cache: false,
                            type: 'POST',
                            url: 'http://test/admin/deleteDJS?id=' + file.name + 'type=SplashImage',
                            data: {filename: file.name, id: file.name, type: 'SplashImage'},
                            success: function (data) {
                                console.log("File has been successfully removed!!");
                                //refreshFileList();
                            },
                            error: function (e) {
                                console.log(e);
                            }
                        });

                        var fileRef;
                        return (fileRef = file.previewElement) != null ?
                            fileRef.parentNode.removeChild(file.previewElement) : void 0;
                    }
0 голосов
/ 26 мая 2019

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

0 голосов
/ 26 мая 2019

Я думаю, что вы ищете confirm().

if (confirm('Are you sure?')) {
    console.log('confirmed');
} else {
    console.log('declined');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...