首先添加head标签:
<script>
function showDialog(openFileDialog) {
document.getElementById(openFileDialog).click();
}
function fileName(openFileDialog) {
return document.getElementById(openFileDialog).value;
}
function hasFile(openFileDialog) {
return document.getElementById(openFileDialog).value != "";
}
function fileNameWithoutFakePath(openFileDialog) {
var fileName = document.getElementById(openFileDialog).value;
return fileName.substr(fileName.lastIndexOf('\\') + 1);
}
function fakePathWithoutFileName(openFileDialog) {
var fileName = document.getElementById(openFileDialog).value;
return fileName.substr(0, fileName.lastIndexOf('\\'));
}
</script>
如果你已经有 script 标签,只需在上面添加这些函数即可。
在您的 body 或 form 标签中添加:
<input type="file" style="display:none" id="yourDesiredOrFavoriteNameForTheNewOpenFileDialogInstance"/>
无论在您的 html 中的哪个位置,只是 像那样 您已经创建了一个类型为 OpenFileDialog 类的新实例作为 global 变量,其名称为 元素的id,无论在你的代码或xaml中,但在你的脚本或代码中,你不能输入他的名字,然后阅读属性或调用函数,因为有全局函数执行元素输入类型 =“文件”中未定义的那些。您只需为这些函数提供隐藏输入 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 的 body 或 form 标记中创建和添加打开文件对话框,因为这是添加隐藏输入 type= “文件”,然后你可以使用上面的创建函数在脚本中完成:
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 文件添加到您的项目或网站中,并且在此文件中您可以将所有打开的文件对话框功能从 script 标签和 html 或 web 表单页面,并在此 JScript 文件中的 html 或 web 表单页面中使用它们,但不要忘记之前将 html 或 web 表单页面链接到 JScript 文件.您只需将 JScript 文件拖到 head 标记中的 html 页面即可。如果您的页面是 web 表单而不是简单的 html,并且您没有 head 标签,则将其放在任何地方以便它可以工作。
不要忘记在该 JScript 文件中定义全局变量,其值将是您的正文或表单 id 作为字符串。将 JScript 文件链接到 html 或 web 表单页面后,您可以 onload 表单正文的事件,将该变量的值设置为您的正文或表单 ID。然后在 JScript 文件中,您不必再为文档提供一页的正文或表单的 id,只需为其提供该变量的值即可。您可以将该变量命名为 bodyId 或 formId 或 bodyOrFormId 或您想要的任何其他名称。
祝你好运!