jQuery:获取从< input type =" file> />
问题描述:
此代码应在在IE (甚至不在Firefox中测试),但它不工作。
我想要的是显示附加文件的名称。任何帮助?
This code should work in IE (don't even test it in Firefox), but it doesn't. What I want is to display the name of the attached file. Any help?
<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>
答
>
It is just such simple as writing:
$('input[type=file]').val()
无论如何,我建议使用name或ID属性来选择你的输入。
和事件,它应该看起来像这样:
Anyway, I suggest using name or ID attribute to select your input. And with event, it should look like this:
$('input[type=file]').change(function(e){
$in=$(this);
$in.next().html($in.val());
});