So verwenden Sie jQuery, um den aktuellen Wert eines Dateieingabefelds abzurufen
Lesezeit: 2 Minuten
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!
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
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
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
11593600cookie-checkSo verwenden Sie jQuery, um den aktuellen Wert eines Dateieingabefelds abzurufenyes