Uploadify:使用scriptData将表单的ID作为参数传递

Mat*_*att 3 jquery uploadify

我需要能够使用Uploadify在一个页面(可能是数百个)上拥有多个上传输入.上传PHP文件将根据用于提交它的输入按钮的ID重命名上传的文件,因此它将需要该ID.

由于我将在一个页面上有数百个上传按钮,我想创建一个通用实例,所以我使用表单类而不是表单的ID来完成.但是,当单击其中一个输入时,我想将该输入的ID作为scriptData传递给PHP.这不起作用; PHP说'formId'未定义.

有没有一种好方法获取正在使用的表单输入的ID属性,并将其传递给上传PHP?或者是否有完全不同的更好的方法来实现这一目标?先感谢您!!

  <script type="text/javascript">
    $(document).ready(function() {
      $('.uploady').uploadify({
        'uploader'  : '/uploadify/uploadify.swf',
        'script'    : '/uploadify/uploadify.php',
        'cancelImg' : '/uploadify/cancel.png',
        'folder'    : '/uploadify',
        'auto'      : true,
      // LINE IN QUESTION
      'scriptData'  : {'formId':$(this).attr('id')}
  });
});
</script>
</head>
Run Code Online (Sandbox Code Playgroud)

输入看起来像这样:

<input id="file_upload1" class="uploady" name="file_upload" type="file" />
<input id="file_upload2" class="uploady" name="file_upload" type="file" />
<input id="file_upload3" class="uploady" name="file_upload" type="file" />
Run Code Online (Sandbox Code Playgroud)

Onu*_*ece 6

好吧,我在一分钟之前就遇到了同样的问题,这里是解决方案,您可以获取元素的ID作为在onSelect事件中定义函数,如下所示

//编辑这是工作代码

$('.uploady').uploadify({
    'uploader'  : '/uploadify/uploadify.swf',
    'script'    : '/uploadify/uploadify.php',
    'cancelImg' : '/uploadify/cancel.png',
    'folder'    : '/uploadify',
    'auto'      : true,
    // ANSWER
    'onSelect'    : function(event,ID,fileObj) {
        var elem_id = $(event.target).attr("id"); //here you get the id of the object.
        $("#"+elem_id).uploadifySettings('scriptData',{'formID':elem_id})
    },
});
Run Code Online (Sandbox Code Playgroud)

现在你的formID将被正确发送