Upload eine Datei

Die GetOpenFileName Funktion gibt in einer var alle notwenige Info zurück.
Der Debugger bringt es an den Tag: Unter "files" stehen beim input-Element Infos über die ausgewählte Datei(en) zur Verfügung:
filelist.png
 
Zuletzt bearbeitet:
Nach wie vor bin ich verblüfft, dass es keine simple Abfrage über den Zustand des
<input type="file"
gibt.
Doch, die gibt es:
Javascript:
<script type="text/javascript">

(function(id1,id2) {
    var el = document.getElementById(id1);

    if(el) {
        el.onchange = function () {
            if (this.files.length > 0) {
                console.log("Datei " + this.files[0].name + " ausgewählt");
                console.log("Größe der Datei: " + this.files[0].size);
                var fileName = "true";
                document.getElementById(id2).innerHTML = fileName;
            }
        }
    }
})('fileInput','selectedFile');

</script>
 
Zuletzt bearbeitet:
Doch, die gibt es:
Javascript:
<script type="text/javascript">

(function(id1,id2) {
    var el = document.getElementById(id1);

    if(el) {
        el.onchange = function () {
            if (this.files.length > 0) {
                console.log("Datei " + this.files[0].name + " ausgewählt");
                console.log("Größe der Datei: " + this.files[0].size);
                var fileName = "true";
                document.getElementById(id2).innerHTML = fileName;
            }
        }
    }
})('fileInput','selectedFile');

</script>
/////////////////////////////////////////////////
Ja,, diese habe ich selber ja schon vor 2 Tagen gepostet.
Funktioniert bestens, ist aber für meine Idee auch nicht hilfreich
 
Sempervivum,

"Hast Du auch bemerkt, dass ich etwas hinzu gefügt habe:
Code:
if (this.files.length > 0) "


hatte ich 'natürlich' nicht ... Tschuldigung, meine Dummheit
 
Sempervivum,

dies reicht für das, was ich will:
(function(id1,id2) {
var el = document.getElementById(id1);

if(el) {
el.onchange = function () {
var value = 1;
document.getElementById(id2).innerHTML = value; }}
})('fileInput','selectedFile');

Aber immer noch der wichtigste Punkt.
Wie verarbeite ich nun 1 oder true ?

Etwa:
If ein Foto ist selected (1 oder true), erscheint eine Textarea ohne 'required'.
If kein Foto ist selected, erscheint eine Textarea mit required.
(Eine Option MUSS).

Wahrscheinlich fange ich an zu nerven.
 
If kein Foto ist selected, erscheint eine Textarea mit required.
Das ist ja der Grundzustand beim Laden der Seite. Entsprechend gibt es hierfür kein Event, bei dem man dies abfragen und die Textarea anzeigen könnte, es sei denn das Laden der Seite. D. h. Du kannst diese gleich anzeigen und mit required versehen.

If ein Foto ist selected (1 oder true), erscheint eine Textarea ohne 'required'.
Entsprechend brauchst Du nur im Code von oben beim onchange das Attribut required zu löschen.

Es sei denn, ich verstehe dich falsch und Du möchtest diese Prüfung und das Einblenden der Textarea erst beim Submit machen.
 
Es sei denn, ich verstehe dich falsch und Du möchtest diese Prüfung und das Einblenden der Textarea erst beim Submit machen.[/QUOTE]

Nein, Verzeihung, das habe ich mehrere Male betont. Nichts hat hier mit submit zu tun.

Entsprechend brauchst Du nur im Code von oben beim onchange das Attribut required zu löschen.
???
Wer, wie soll den im Quellcode geschriebenen Text löschen.

Ich denke, ich gebe es auf und mache es anders.
Ich komme mir langsam blöd vor .
Offensichtlich versteht mich keiner und das ist immer !! unbefriedigend.
Nochmals Dank.
 
Zurück