Per prima cosa aggiungi i tag 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>
se hai già script tag di , aggiungi semplicemente queste funzioni sopra.
Nel tuo corpo o tag del modulo aggiungendo:
<input type="file" style="display:none" id="yourDesiredOrFavoriteNameForTheNewOpenFileDialogInstance"/>
Non importa dove nel tuo html, è proprio così che hai creato una nuova istanza di tipo OpenFileDialog class come variabile globale , il cui nome è l' id dell'elemento, non importa dove nel tuo codice o xaml, ma nel tuo script o codice , non puoi digitare il suo nome e poi leggere una proprietà o chiamare una funzione, perché ci sono funzioni globali che fanno quelle che non sono definite nell'elemento input type = "file". Devi solo dare a queste funzioni l'id del tipo di input nascosto = "file" che è il nome dell'istanza di OpenFileDialog come stringa.
Per semplificarti la vita nella creazione di istanze di finestre di dialogo di file aperti nel tuo html, puoi creare una funzione che lo fa:
function createAndAddNewOpenFileDialog(name) {
document.getElementById("yourBodyOrFormId").innerHtml += "<input type='file' style='display:none' id='" + name + "'/>"
}
e se desideri rimuovere la finestra di dialogo Apri file, puoi creare e utilizzare la seguente funzione:
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;
}
ma prima di rimuovere la finestra di dialogo Apri file, assicurati che esista creando e utilizzando la seguente funzione:
function doesOpenFileDialogExist(name) {
return document.getElementById("yourBodyOrFormId").innerHtml.indexOf("<input type='file' style='display:none' id='" + name + "'/>") != -1
}
e se non vuoi creare e aggiungere le finestre di dialogo del file aperto nel corpo o i tag del modulo nell'html, perché questo significa aggiungere un input nascosto type = "file" s, puoi farlo nello script usando la funzione di creazione sopra :
function yourBodyOrFormId_onload() {
createAndAddNewOpenFileDialog("openFileDialog1");
createAndAddNewOpenFileDialog("openFileDialog2");
createAndAddNewOpenFileDialog("openFileDialog3");
createAndAddNewOpenFileDialog("File Upload");
createAndAddNewOpenFileDialog("Image Upload");
createAndAddNewOpenFileDialog("bla");
//etc and rest of your code
}
Assicurati che vicino al tuo corpo o ai tag del modulo, hai aggiunto:
onload="yourBodyOrFormId_onload()"
Non devi fare questa riga sopra, se l'hai già fatto.
SUGGERIMENTO: puoi aggiungere al tuo progetto o sito web un nuovo file JScript, se non lo hai ancora, e in questo file puoi mettere tutte le funzioni di dialogo del file aperto lontano dai tag script e dalla pagina html o modulo web, e utilizzare loro nella tua pagina html o modulo web da questo file JScript, ma non dimenticare prima di collegare la pagina html o modulo web al file JScript ovviamente. Puoi farlo semplicemente trascinando il file JScript sulla tua pagina html nel file testatag. Se la tua pagina è un modulo web e non un semplice HTML e non hai tag head, mettila ovunque in modo che possa funzionare. Non dimenticare di definire la variabile globale in quel file JScript, il cui valore sarà il tuo corpo o l'id del modulo come stringa. Dopo aver collegato il file JScript alla tua pagina html o modulo web, puoi caricare l'evento del tuo corpo del modulo, impostare il valore di quella variabile sul tuo corpo o ID modulo. Quindi nel file JScript, non devi più dare al documento l'id del corpo o il modulo di una pagina, basta dargli il valore di quella variabile. Puoi chiamare quella variabile bodyId o formId o bodyOrFormId o qualsiasi altro nome che desideri.
Buona fortuna ragazzo!