online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon DaPascha vom 07.01.2021, 11:51 Options

Lösung

HTML-Input-File via Textlink nutzen

Hi,

Problembeschreibung:
Ein HTML-Input-File-Element soll via Textlink ausgelöst werden. Wenn man also auf den Textink klickt, dann soll sich das Formular zum Auswählen der Datei öffnen. Wählt man ein aus, so soll die Datei sofort hochgeladen werden.

Lösungsansatz:
Das HTML-Input-File-Element wird in einen unsichtbaren Layer integriert. Sobald das OnChange-Event ausgelöst wird, wird das Fomular verschickt.

Das Problem ist also nicht das Verschicken, sondern das Öffnen des Dateimanagers. Hat jemand eine Idee, wie man den Klick auf den Button des HTML-Input-File-Elementes "simulieren", z. B. via JavaScript, könnte?

MfG DaPascha


Antwort schreiben

Antwort 1 von son_quatsch vom 07.01.2021, 12:28 Options

Ich will nicht hoffen, dass das möglich ist. Ansonsten könnte mir eine Webseite gleich zu Beginn den Öffnen-Dialog anzeigen. Aus Sicherheitsgründen kannst du z.B. auch nicht den Wert der Textbox vorbelegen oder per JavaScript beschreiben - da ja sonst auch automatische Uploads ohne jegliche Benuterinteraktion möglich wären.

Selbst mit einer Click-Stealing-Variante muss der Benutzer immernoch mindestens einen Mausklick selbst ausführen...

Antwort 2 von DaPascha vom 07.01.2021, 13:03 Options

Möglicherweise hast du Recht...

Ich habe mir einen Klick-Simulator in JavaScript gebastelt:
function simulateClick(elementID) {
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window,
    0, 0, 0, 0, 0, false, false, false, false, 0, null);
  var cb = document.getElementById(elementID);
  cb.dispatchEvent(evt);
}

Eine weitere Möglichkeit einen Mausklick zu simulieren wäre auch:
document.getElementById(elementID).click();

Elemente wie Checkboxen kann ich damit ohne Probleme ansteuern, das File-Element zeigt jedoch in beiden Varianten keine Reaktion.

MfG DaPascha

Antwort 3 von Supermax vom 07.01.2021, 13:31 OptionsLösung

Lösung
Die meisten dieser Automatismen funktionieren aus Sicherheitsgründen nicht mit dem Upload-Feld, da sonst eine bösartige Webseite ohne dein Wissen beliebige Dateien von deinem Rechner "abholen" könnte.

Antwort 4 von DaPascha vom 07.01.2021, 14:54 Options

Na gut, dann lasse ich mir was anderes einfallen.

Trotzdem, vielen Dank für die Antworten!

MfG DaPascha

Antwort 5 von Computerfreaki vom 07.01.2021, 22:31 Options

Hi DaPascha,
also ich kenne da ne Möglichkeit mit einem Flash-Uploader. Ich persönliche verwende diesen für meine Bildergalerie im Heimnetzwerk. Man kann mehrere Dateien gleichzeitig im Dateimanager auswählen. Das mit dem Textlink kannst du warscheinlich auch irgendwie mit JavaScript und Flash hinbekommen. FancyUpload bietet genug Funktionen für so etwas.

Gruß Computerfreaki

Antwort 6 von DaPascha vom 08.01.2021, 10:38 Options

Danke für deine Antwort Computerfreaki, ich werde das auf jeden Fall testen.

Ähnliche Themen

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026