Jquery FileUploadUI回调未被触发

时间:2011-08-18 14:58:16

标签: jquery ajax grails file-upload

我们在grails应用程序中使用fileUploadUI进行一些简单的文件上传(显然)。我们现在想为元素添加一些验证。当用户选择要上载的文件时,在发送之前,我们需要验证应该输入注释的文本区域以确保其不为空。

为了做到这一点,我们想要使用发送回调,它应该在向服务器发出请求之前调用。问题是,发送回调函数似乎根本没有被调用。我们也是'完成'回调,也没有被触发。对它可能是什么的任何想法?我猜这是非常非常简单的事情,但目前还在逃避我。代码和链接如下。

 $('#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');});

0 个答案:

没有答案