如何获取元素被点击的表单对象


How to get form object whos element is clicked

我正在使用jQuery上传插件上传文件。每次上传文件时,表单中都会创建一个隐藏字段,其中包含服务器上上传的文件路径。当我提交表单时,我通过从隐藏字段中获取该文件路径将其存储在数据库中。这对我来说很有效。一个问题是我在上传的onComplete函数中硬编码表单对象。

下面是我的代码: jQuery:

     $('.FileUpload').uploadify({
        'uploader'  : '/uploadify/uploadify.swf',
        'script'    : '/uploadify/uploadify.php',
        'cancelImg' : '/uploadify/cancel.png',
        'folder'    : '/uploads',
        'auto'      : true,
        'queueID'   : 'fileQueue',
        'removeCompleted':false,
        'onComplete'  : function(event, ID, fileObj, response, data) {
                            // It is hard coded here. It may create probelems 
                            // if there are multiple file upload buttons.
                            // How can I do this with '$(this)' keyword or something
                            $('.SingleFileUpload').parents('form').append( '<input type="hidden" name="uploaded_file" value="' + response + '">' );
                        }
      }); 

我怎么能得到只有窗体谁的文件浏览按钮点击在onComplete()功能。我想你明白我的意思了吧?

谢谢

我认为它应该工作,如果你取代$('.SingleFileUpload')$(event.target)

我用下面的方法解决了这个问题:

$(event.target).closest('form').append( '<input type="hidden" name="uploaded_file" value="' + response + '">' );