未触发Jquery FileUploadUI回调

未触发Jquery FileUploadUI回调,jquery,ajax,grails,file-upload,Jquery,Ajax,Grails,File Upload,我们在grails应用程序中使用fileUploadUI进行一些简单的文件上传(显然)。我们现在想给元素添加一点验证。当用户选择要上传的文件时,在发送之前,我们需要验证一个文本区域,用户应该在其中输入注释,以确保其不为空 为了做到这一点,我们希望使用send回调,该回调应该在向服务器发出请求之前调用。问题是,发送回调函数似乎根本没有被调用。我们还需要“完成”回调,但也不会触发。有什么想法吗?我猜这是一件非常非常简单的事情,但目前我还没有意识到。代码和下面的链接 $('#checkin_file

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

为了做到这一点,我们希望使用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?";
                    }
                });

使用firebug并查看是否有任何错误。。。还可以使用“完成”中的“警报”来查看它是否被触发。IE开发工具和Chrome开发工具在调试时都没有显示任何错误。我将添加一个警报,但它没有在函数中遇到断点,所以我猜它根本没有到达那里。类似于Teja的评论:在Chrome中打开开发者工具窗格,转到网络选项卡,然后尝试提交文件。这会导致任何活动吗?然后检查控制台选项卡。有错误吗?控制台中没有错误。发布的帖子对服务器的影响很好。我们当前的实现在服务器端验证注释,但之所以这样做,是因为没有一种有效的方法可以在不发送的情况下验证客户端
        $('#checkin_file_upload').bind('fileuploadsend', function(e, data){alert('me');});