Обратные вызовы Jquery FileUploadUI не запускаются - PullRequest
0 голосов
/ 18 августа 2011

Мы используем fileUploadUI в нашем приложении grails для простой загрузки файла пользователем (очевидно).Теперь мы хотим добавить немного проверки для элемента.Когда пользователь выбирает файл для загрузки, перед его отправкой нам нужно проверить текстовую область, в которую он должен вводить комментарии, чтобы убедиться, что он не пустой.

Чтобы сделать это, мы хотели использовать обратный вызов send, который предположительно вызывается непосредственно перед отправкой запроса на сервер.Проблема в том, что функция обратного вызова send не вызывается вообще.Мы также выполняем обратный вызов, и это тоже не срабатывает.Есть мысли о том, что это может быть?Я думаю, это что-то очень, очень простое, но ускользает от меня на данный момент.Код и ссылки ниже.

 $('#checkin_file_upload').fileUploadUI(
                {
                    uploadTable: $('#checkin_files'),
                    downloadTable: $('#checkin_files'),
                    buildUploadRow: function (files, index) 
                    {
                        return $('<tr><td>' + files[index].name + '<\/td>' +
                                '<td class="file_upload_progress"><div><\/div><\/td>' +
                                '<\/td><\/tr>');
                    },
                    buildDownloadRow: function (file) 
                    {
                        //return $('<tr><td>' + file.name + '<\/td><td>' + file.status + '<\/td><\/tr><tr><TD colspan=2 onclick="closeDialog()"><button>Done</button></tr>');
                        return $('<tr><td>' + file.name + '<\/td><td>' + file.status + '<\/td><\/tr>');
                    },
                    formData: function(form)
                    {
                        var value = form.serializeArray();

                        var commentTextArea = document.getElementById('checkin-text-area');
                        var commentObject = new Object();
                        commentObject.name = "comment";
                        commentObject.value = commentTextArea.value
                        value[value.length] = commentObject;
                        return value;
                    },
                    send: function(e, data){
                        var commentTextArea = document.getElementById('checkin-text-area');
                        if(commentTextArea.value == null || commentTextArea.value.length == 0)
                        {
                            return false;
                        }
                            return false;

                    },
                    done: function(e, data){
                        var test = "is it getting here?";
                    }
                });

FileUploadUI API: https://github.com/blueimp/jQuery-File-Upload/wiki/API
Пример реализации обратных вызовов: https://github.com/blueimp/jQuery-File-Upload/wiki/API

Кроме того, мы попытались также связать функцию вместо использованияварианты.Это тоже не сработало.

Забыл упомянуть: это не работает в IE8 и последней версии Chrome.Не пробовал другие браузеры.

Редактировать 2: Это код привязки, который был опробован и также не удался.

        $('#checkin_file_upload').bind('fileuploadsend', function(e, data){alert('me');});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...