이 코드는 IE에서 작동해야 하지만 (Firefox에서 테스트하지 마세요) 작동하지 않습니다. 내가 원하는 것은 첨부 파일의 이름을 표시하는 것입니다. 도움이 필요하세요?
<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>
답변
다음과 같이 작성하는 것은 간단합니다.
$('input[type=file]').val()
어쨌든 이름 또는 ID 속성을 사용하여 입력을 선택하는 것이 좋습니다. 이벤트를 사용하면 다음과 같이 표시됩니다.
$('input[type=file]').change(function(e){
$in=$(this);
$in.next().html($in.val());
});
답변
가장 간단한 방법은 간단히 다음 줄을 jquery
사용하는 것입니다.이 줄을 사용하면 /fakepath
말도 안되지만 업로드 된 파일을 바로 얻을 수 있습니다.
$('input[type=file]')[0].files[0]; // This gets the file
$('#idOfFileUpload')[0].files[0]; // This gets the file with the specified id
다른 유용한 명령은 다음과 같습니다.
파일 이름을 얻으려면 :
$('input[type=file]')[0].files[0].name; // This gets the file name
파일 유형을 가져 오려면 :
PNG를 업로드하면 image/png
$("#imgUpload")[0].files[0].type
파일 크기 (바이트)를 얻으려면 :
$("#imgUpload")[0].files[0].size
또한 이러한 명령을 사용할 필요가 없습니다. on('change'
예를 들어 파일을 업로드 할 수 있고 사용자가를 클릭 할 때 upload
내가 나열한 명령을 사용하기 만하면 언제든지 값을 가져올 수 있습니다 .
답변
$('input[type=file]').change(function(e){
$(this).parents('.parent-selector').find('.element-to-paste-filename').text(e.target.files[0].name);
});
이 코드는 C:\fakepath\
을 사용하는 경우 Google 크롬에서 파일 이름 앞에 표시되지 않습니다 .val()
.
답변
<input onchange="readURL(this);" type="file" name="userfile" />
<img src="" id="blah"/>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(150).height(200);
};
reader.readAsDataURL(input.files[0]);
//console.log(reader);
//alert(reader.readAsDataURL(input.files[0]));
}
}
</script>
답변
나는 올바르게 작동하는 다음을 사용했습니다.
$('#fileAttached').attr('value', $('#attachment').val())
답변
//get file input
var $el = $('input[type=file]');
//set the next siblings (the span) text to the input value
$el.next().text( $el.val() );
답변
숨겨진 재설정 버튼 추가 :
<input id="Reset1" type="reset" value="reset" class="hidden" />
입력을 지우려면 재설정 버튼을 클릭하십시오.
$("#Reset1").click();