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!
Sie müssen val anstelle von value verwenden.
$("#fileinput").val();
In Chrome 8 lautet der Pfad immer "C:\fakepath \" mit dem richtigen Dateinamen.
es ist nicht .val () Wenn Sie die Datei /home/user/default.png erhalten wollen, wird es mit .val () nur default.png erhalten
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.
Ich denke es sollte sein
$('#fileinput').val();
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.
Könntest du auch
$(input[type=file]).val()
Ich habe das versucht und es funktioniert:
yourelement.next().val();
dein Element könnte sein:
$('#elementIdName').next().val();
viel Glück!