不管在 html 中的哪个位置,只是 像这样,你已经创建了一个类型为 OpenFileDialog 类的新实例作为 全球性的变量,它的名字是元素的 身份证,不管在你的代码中的哪个位置,或者在你的脚本或者代码中的 xaml,但是,你都键入它的名字,然后读取一个属性或者调用一个函数,因为有一些全局函数做那些在元素 input type = “ file”中没有定义的事情。您只需要给这些函数赋予隐藏输入 type = “ file”的 id,这是 OpenFileDialog 实例的名称,作为字符串。
为了简化你在为 html 创建打开文件对话框实例时的工作,你可以创建一个函数:
function createAndAddNewOpenFileDialog(name) {
document.getElementById("yourBodyOrFormId").innerHtml += "<input type='file' style='display:none' id='" + name + "'/>"
}
如果要删除打开的文件对话框,则可以制作并使用以下函数:
function removeOpenFileDialog(name) {
var html = document.getElementById("yourBodyOrFormId").innerHtml;
html = html.replace("<input type='file' style='display:none' id='" + name + "'/>", "");
document.getElementById("yourBodyOrFormId").innerHtml = html;
}
但在删除打开的文件对话框之前,请通过制作和使用以下函数确保其存在:
function doesOpenFileDialogExist(name) {
return document.getElementById("yourBodyOrFormId").innerHtml.indexOf("<input type='file' style='display:none' id='" + name + "'/>") != -1
}
如果你不想在 html 中的 尸体或 表格标签中创建和添加打开的文件对话框,因为这是添加隐藏的输入 type = “ file”s,那么你可以使用上面的 create 函数在脚本中创建:
function yourBodyOrFormId_onload() {
createAndAddNewOpenFileDialog("openFileDialog1");
createAndAddNewOpenFileDialog("openFileDialog2");
createAndAddNewOpenFileDialog("openFileDialog3");
createAndAddNewOpenFileDialog("File Upload");
createAndAddNewOpenFileDialog("Image Upload");
createAndAddNewOpenFileDialog("bla");
//etc and rest of your code
}
确保在你的身体或表格标签附近,你补充说:
onload="yourBodyOrFormId_onload()"
如果你已经做过了,你不必再做上面这行。
提示: 如果你还没有新的 JScript 文件,你可以添加到你的项目或者网站。在这个文件中,你可以把所有打开的文件对话框函数从 剧本标签和 html 或者 web 表单页面中移开,然后在你的 html 或者 web 表单页面中从这个 JScript 文件中使用它们,但是不要忘记之前把 html 或者 web 表单页面链接到 JScript 文件中。只需要在 头标记中将 JScript 文件拖动到 html 页面即可。如果你的页面是 web 表单而不是简单的 html,并且你没有头标签,那么把它放在任何地方,这样它就可以工作了。
不要忘记在 JScript 文件中定义全局变量,其值将是您的 body 或表单 id 作为字符串。将 JScript 文件链接到 html 或 web 表单页面之后,就可以加载表单主体的事件,将该变量的值设置为主体或表单 id。然后在 JScript 文件中,您不必再给文档一个主体的 id 或者一个页面的形式,只需要给它一个变量的值。您可以调用该变量 身份证或 FormId或 Body OrFormId或任何其他名称。
<label for="file-input" class="input-label">
Click Me <!-- Replace with whatever text or icon you wish to use -->
<input type="file" id="file-input">
</label>