识别拖动文件的小程序

我使用Java applet作为上传文件的框。从文件系统中选择文件并在applet上拖动它们会导致将文件路径名添加到输入文本框中。 目前的设计如下:每个“上传”按钮都包含一个用于拖放的小程序,一个收音机盒和一个输入框。每个收音机盒都有自己的ID。使用java.awt.datatransfer packagee中的方法实现了拖放操作。当用户按照Java代码删除所选applet上的文件时
          getAppletContext().showDocument
            (new URL("javascript:appletUpdateFile()"));
          }
调用javascript函数。一切正常。但是存在以下问题 - 我为所有上传按钮使用一个小程序。它实际上是CMS的外部用户脚本(IEPro)的一部分,因此CMS的当前页面中可能存在非常多的“上传”按钮。因此,为每个按钮创建唯一的小程序是不可接受的解决方案。 它必须以某种方式识别应该更新哪个输入框(属于某些“上传”按钮/拖放框)。目前它由无线电盒决定。因此,用户需要在applet上实际拖动文件之前选择特定选项。从用户的角度来看,这一步骤是多余的。 我想以某种方式确定哪些applet被拖动文件而不使用无线电盒。直到现在我已经尝试了几种方法: 1)识别在applet的父元素上使用mouseover,mouseup等 - 它可以选择并设置正确的applet(设置单选框,变量等)。但它不起作用,因为如果光标保存文件,所有鼠标事件都会被忽略... 2)使用“this”关键字作为appletUpdateFile()函数的参数 - 这显然也行不通,浏览器当然无法确定'新URL(“javascript:appletUpdateFile()”的调用者applet 所以,我希望我打字足以引入问题。我会感激任何方式(在applet方面,或在JavaScript方面)来完成这项任务。     
已邀请:
当你通过PHP,Javascript或其他东西生成applet的对象标签和输入框时,你可以传递每个applet一个唯一的值(如果它们是在循环中生成的,候选将是$ i的当前值)你做的还用于标识输入框(例如,将“id”属性设置为“inputBox $ i”)。 applet将此值传递给appletUpdateFile函数,然后该函数可以通过document.getElementById(“inputBox”+ idNumber)访问相应的输入框。     

要回复问题请先登录注册