Fügen Sie zuerst die Kopf- Tags hinzu:
<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>
wenn Sie bereits ein Skript haben Tags haben, fügen einfach diese Funktionen oben hinzu.
In Ihrem Körper oder Formular Tags hinzufügen:
<input type="file" style="display:none" id="yourDesiredOrFavoriteNameForTheNewOpenFileDialogInstance"/>
Egal wo in Ihrem HTML, es ist einfach so, dass Sie eine neue Instanz vom Typ OpenFileDialog als globale Variable erstellt haben, deren Name die ID des Elements ist, egal wo in Ihrem Code oder xaml, sondern in Ihrem Skript oder Code Sie können seinen Namen nicht eingeben und dann eine Eigenschaft lesen oder eine Funktion aufrufen, da es globale Funktionen gibt, die diejenigen ausführen, die nicht im Element input type = "file" definiert sind. Sie müssen diesen Funktionen nur die ID des versteckten Eingabetyps = "Datei" geben, der der Name der OpenFileDialog-Instanz als Zeichenfolge ist.
Um Ihnen das Erstellen von Instanzen für offene Dateidialoge in Ihrem HTML zu erleichtern, können Sie eine Funktion erstellen, die dies ausführt:
function createAndAddNewOpenFileDialog(name) {
document.getElementById("yourBodyOrFormId").innerHtml += "<input type='file' style='display:none' id='" + name + "'/>"
}
Wenn Sie das Dialogfeld "Geöffnete Datei" entfernen möchten, können Sie die folgende Funktion erstellen und verwenden:
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;
}
Bevor Sie jedoch das Dialogfeld "Geöffnete Datei" entfernen, stellen Sie sicher, dass es vorhanden ist, indem Sie die folgende Funktion erstellen und verwenden:
function doesOpenFileDialogExist(name) {
return document.getElementById("yourBodyOrFormId").innerHtml.indexOf("<input type='file' style='display:none' id='" + name + "'/>") != -1
}
und wenn Sie die geöffneten Dateidialoge im Hauptteil oder die Formular- Tags im HTML nicht erstellen und hinzufügen möchten , weil dies versteckte Eingabetypen = "Dateien" hinzufügt, können Sie dies im Skript mit der obigen Erstellungsfunktion tun ::
function yourBodyOrFormId_onload() {
createAndAddNewOpenFileDialog("openFileDialog1");
createAndAddNewOpenFileDialog("openFileDialog2");
createAndAddNewOpenFileDialog("openFileDialog3");
createAndAddNewOpenFileDialog("File Upload");
createAndAddNewOpenFileDialog("Image Upload");
createAndAddNewOpenFileDialog("bla");
//etc and rest of your code
}
Stellen Sie sicher, dass Sie in der Nähe Ihres Körpers oder Ihrer Formular-Tags Folgendes hinzugefügt haben:
onload="yourBodyOrFormId_onload()"
Sie müssen diese Zeile oben nicht ausführen, wenn Sie dies bereits getan haben.
TIPP: Wenn Sie noch keine neue JScript-Datei zu Ihrem Projekt oder Ihrer Website hinzugefügt haben, können Sie in dieser Datei alle Dialogfunktionen für geöffnete Dateien von den Skript- Tags und der HTML- oder Webformularseite entfernen und verwenden Sie in Ihrer HTML- oder Webformularseite aus dieser JScript-Datei, aber vergessen Sie nicht, vorher die HTML- oder Webformularseite mit der JScript-Datei zu verknüpfen. Sie können dies einfach tun, indem Sie die JScript-Datei auf Ihre HTML-Seite in der Kopf ziehenStichworte. Wenn Ihre Seite ein Webformular und kein einfaches HTML ist und Sie keine Head-Tags haben, platzieren Sie sie an einer beliebigen Stelle, damit sie funktioniert. Vergessen Sie nicht, in dieser JScript-Datei eine globale Variable zu definieren, deren Wert Ihr Textkörper oder Ihre Formular-ID als Zeichenfolge ist. Nachdem Sie die JScript-Datei mit Ihrer HTML- oder Webformularseite verknüpft haben, können Sie das Ereignis Ihres Formularkörpers herunterladen und den Wert dieser Variablen auf Ihren Textkörper oder Ihre Formular-ID festlegen. Dann müssen Sie in der JScript-Datei dem Dokument nicht mehr die ID des Hauptteils oder die Form einer Seite geben, sondern nur den Wert dieser Variablen. Sie können diese Variable bodyId oder formId oder bodyOrFormId oder einen beliebigen anderen Namen aufrufen .
Viel Glück Mann!