Dieser Code sollte im IE funktionieren (nicht einmal in Firefox testen), aber nicht. Ich möchte den Namen der angehängten Datei anzeigen. Irgendeine Hilfe?
<html>
<head>
<title>example</title>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function(){
$("#attach").after("<input id='fakeAttach' type='button' value='attach a file' />");
$("#fakeAttach").click(function() {
$("#attach").click();
$("#maxSize").after("<div id='temporary'><span id='attachedFile'></span><input id='remove' type='button' value='remove' /></div>");
$('#attach').change(function(){
$("#fakeAttach").attr("disabled","disabled");
$("#attachedFile").html($(this).val());
});
$("#remove").click(function(e){
e.preventDefault();
$("#attach").replaceWith($("#attach").clone());
$("#fakeAttach").attr("disabled","");
$("#temporary").remove();
});
})
});
</script>
</head>
<body>
<input id="attach" type="file" /><span id="maxSize">(less than 1MB)</span>
</body>
</html>
Antworten:
Es ist so einfach wie das Schreiben:
Wie auch immer, ich schlage vor, Name oder ID-Attribut zu verwenden, um Ihre Eingabe auszuwählen. Und mit event sollte es so aussehen:
quelle
Der einfachste Weg ist, einfach die folgende Zeile zu verwenden
jquery
: Wenn Sie dies tun, erhalten Sie keinen/fakepath
Unsinn, sondern direkt die hochgeladene Datei:Einige andere nützliche Befehle sind:
So erhalten Sie den Namen der Datei:
So ermitteln Sie den Dateityp:
Wenn ich ein PNG hochladen würde, würde es zurückkehren
image/png
So ermitteln Sie die Größe (in Byte) der Datei:
Außerdem müssen Sie diese Befehle nicht verwenden
on('change'
. Sie können die Werte jederzeit abrufen. Beispielsweise kann eine Datei hochgeladen werden. Wenn der Benutzer auf klicktupload
, verwenden Sie einfach die von mir aufgelisteten Befehle.quelle
Dieser Code wird bei Verwendung nicht
C:\fakepath\
vor dem Dateinamen in Google Chrome angezeigt.val()
.quelle
quelle
Ich hatte folgendes verwendet, was richtig funktionierte.
quelle
quelle
Fügen Sie eine versteckte Schaltfläche zum Zurücksetzen hinzu:
Klicken Sie auf die Schaltfläche Zurücksetzen, um die Eingabe zu löschen.
quelle
quelle