So verwenden Sie jQuery, um den aktuellen Wert eines Dateieingabefelds abzurufen

Lesezeit: 2 Minuten

Benutzer-Avatar
Karim

Soweit ich weiß, sollten Sie in der Lage sein, die Eigenschaft „Wert“ eines Dateieingabefelds zu verwenden, um den aktuell festgelegten Pfad dieses Felds abzurufen. Aber wenn ich das mache:

 $('#fileinput').value()

Ich bekomme “undefiniert”. Ich bin mir sicher, dass die ID des Feldes auf “fileinput” gesetzt ist. Hat jemand eine Idee, warum das bei mir nicht funktioniert?

Und das funktioniert übrigens:

var d = document.getElementById('AttachmentFile');
alert(d.value);

Ich denke, das hat etwas mit der Funktionsweise von jQuery zu tun, die ich nicht vollständig verstehe.

Vielen Dank!

Benutzer-Avatar
Werden

Sie müssen val anstelle von value verwenden.

$("#fileinput").val();

  • Funktioniert bei mir in Chrome 10 und 11.

    – Alex Reynolds

    9. Mai 2011 um 18:17 Uhr

In Chrome 8 ist der Pfad immer ‘C:\fakepath\’ mit dem richtigen Dateinamen.

es ist nicht .val(), wenn Sie die Datei /home/user/default.png erhalten möchten, wird es mit .val() nur default.png erhalten

Ich denke, es sollte sein

 $('#fileinput').val();

  • Ich denke, das Sicherheitsrisiko wäre Einstellung diesen Wert, nicht lesen.

    – Karim

    11. April 2009 um 14:05 Uhr

  • Es würde alles vom Browser abhängen.

    – Daniel A. Weiß

    11. April 2009 um 14:08 Uhr

  • Nachdem Sie es gerade getestet haben, erhalten Sie unterschiedliche Ergebnisse, je nachdem, von wo aus Sie laufen. Wenn Sie die Datei lokal ausführen, erhalten Sie einen vollständigen Pfad, wenn Sie sie von einem Webserver ausführen, erhalten Sie nur den Namen der ausgewählten Datei, was aus Sicherheitsgründen sinnvoll ist.

    – Werden

    11. April 2009 um 16:09 Uhr

Benutzer-Avatar
AKS

Jquery funktioniert in IE und anderen Browsern anders. Sie können auf den letzten Dateinamen zugreifen, indem Sie verwenden

alert($('input').attr('value'));

In IE gibt die obige Warnung den vollständigen Pfad an, in anderen Browsern jedoch nur den Dateinamen.

  • Es ist nicht jQuery, das sich anders verhält, sondern die zugrunde liegende DOM-API.

    – OlliM

    1. Oktober 2012 um 9:38 Uhr

Benutzer-Avatar
Collin Weiß

Könntest du auch machen

$(input[type=file]).val()

  • Es ist nicht jQuery, das sich anders verhält, sondern die zugrunde liegende DOM-API.

    – OlliM

    1. Oktober 2012 um 9:38 Uhr

Ich habe das ausprobiert und es funktioniert:

 yourelement.next().val();

Ihr Element könnte sein:

$('#elementIdName').next().val();

viel Glück!

  • Um die Qualität Ihres Beitrags zu verbessern, geben Sie bitte an, wie/warum dieser Code das Problem lösen wird.

    – Mick MacCallum

    4. Oktober 2012 um 9:54 Uhr

1159360cookie-checkSo verwenden Sie jQuery, um den aktuellen Wert eines Dateieingabefelds abzurufen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy