it-swarm.com.de

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

Soweit ich fertig bin, sollten Sie in der Lage sein, die 'value'-Eigenschaft eines Dateieingabefelds zu verwenden, um den aktuell eingestellten Pfad dieses Felds abzurufen. Aber wenn ich das mache:

 $('#fileinput').value()

Ich bekomme 'undefined'. Die ID des Feldes ist auf "fileinput" gesetzt, da bin ich mir sicher. Hat jemand eine Idee, warum dies für mich 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 ganz verstehe. 

Vielen Dank!

20
Karim

Sie müssen val anstelle von value verwenden.

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

In Chrome 8 lautet der Pfad immer "C:\fakepath \" mit dem richtigen Dateinamen.

21
Thomas

es ist nicht .val () Wenn Sie die Datei /home/user/default.png erhalten wollen, wird es mit .val () nur default.png erhalten

6
CoaPsy

Ich glaube nicht, dass es einen wirklich legitimen Weg gibt, über das DOM darauf zuzugreifen. Es wäre ein Sicherheitsrisiko, wenn Browser spät gesperrt wurden, um Drive-by-Uploads zu verhindern.

3
Daniel A. White

Ich denke es sollte sein 

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

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 der obige Alarm den vollständigen Pfad an, in anderen Browsern jedoch nur den Dateinamen. 

1
AKS

Könntest du auch

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

0
Collin White

Ich habe das versucht und es funktioniert:

 yourelement.next().val();

dein Element könnte sein:

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

viel Glück!

0
Devmaster78