Проблема с отправкой формы через JQuery AJAX

0

Я написал сценарий jQuery, который проверяет событие изменения в поле ввода файла, когда выбран файл, необходимо отправить функцию отправки формы и отправить данные через Ajax.

Проблема: функция смены файла запускается, но функция отправки не запускается. На консоли нет никаких ошибок.

Сценарий, который я написал:

$(document).ready(function() {
    $("#upld").on('change', function() {
        console.log('going to run submit function');
        $('#fff').submit(function(e) {
            console.log('submitting function executed')
            var siteSettings = {"ajaxurl": '/filer/check/wp-admin/admin-ajax.php'};
            var data = {
                action: 'uploading-new-image',
                files: $(this).serialize()
            };

            jQuery.post(
                    siteSettings.ajaxurl,
                    data,
                    function(response) {
                        $("#error").html(response);
                    });

            e.preventDefault();

        });

    });
});

Вот HTML:

<form id="fff" method="POST" action="process.php" enctype="multipart/form-data">
    <input type="file" name="filetoupload" id="upld" />
</form>

Просмотр на JSFIDDLE

Теги:

1 ответ

3
Лучший ответ

Вы не запускаете его. Вы просто добавляете обработчик для обработчика отправки.

Добавьте в .submit() или .trigger('submit').

$(document).ready(function () {
    $("#upld").on('change', function () {
        console.log('going to run submit function');
        $('#fff').submit(function (e) {
            console.log('submitting function executed')
            var siteSettings = {
                "ajaxurl": '/filer/check/wp-admin/admin-ajax.php'
            };
            var data = {
                action: 'uploading-new-image',
                files: $(this).serialize()
            };

            jQuery.post(
            siteSettings.ajaxurl,
            data,

            function (response) {
                $("#error").html(response);
            });

            e.preventDefault();

        }).submit();  //  <-------- Added submit here.
    });
});
  • 0
    Спасибо, еще один вопрос, пожалуйста, как мне проанализировать данные $ _FILES загруженного файла через ajax, чтобы я мог обработать их в файле сценария PHP на стороне сервера?
  • 0
    @ Джейд, прости! Я не знаю php :(
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню