이 플러그인을 백본 업로드에 사용하고 있지만, 업로드하기 전에 2 번 제출해야합니다. 처음으로 파일을 선택했을 때 fileupload 함수가 실행되지 않는 것처럼 보였습니다. 그런 다음 두 번째 시간을 선택하면 파일이 실행됩니다.Jquery File upload plugin 초기화 문제가 있습니다.
그것은 매우 바보처럼 보이지만 내가 틀렸다 어디하지 않습니다 .. 여기
는 백본 부분 :form_submit: function(e){
$('#fileupload').fileupload({
add: function (e, data) {
// Automatically upload the file once it is added to the queue
var jqXHR = data.submit();
},
progress: function(e, data){
var progress = parseInt(data.loaded/data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
if (progress == 100) {
var message = "<font color=green>Fichier uploadé !</font>";
var info = document.getElementById("info");
info.innerHTML=message;
}
}
});
}
여기에 도움이 할 수있는 경우에 제의 HTML 부분 :
<form enctype="multipart/form-data" id="maj-container">
<script type="text/template" id="maj-template">
<div class="file-input-wrapper" id="file-group">
<button class="btn-file-input" id="btn-file">Choisir un fichier</button>
<input type="file" name="files[]" id="fileupload" multiple />
</div>
<br>
<br>
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<div id="info" style="margin-top:30px"></div>
</script>
</form>
편집 : 그래, 몇 가지 조사를했는데이 오류는 내가 플러그인을 초기화하지 않았기 때문에 발생합니다. 그래서 $ ('# fileupload')를 실행하여 초기화하려고했습니다. fileupload(); 그러나 그것은 작동하지 않습니다.
render: function(){
var template = _.template(this.template.html());
this.$el.html(template({ m : this.model.toJSON()}));
$('#fileupload').fileupload({
url: '/rest/maj/',
sequentialUploads: true
});
return this;
},
나는 초기화도 시도 :
initialize : function(options) {
$('#fileupload').fileupload({
url: '/rest/maj/',
sequentialUploads: true
});
this.router = options.router;
this.render();
},
그러나 아무것도 작동하지 않습니다 .. 그것은 여전히 렌더링에서 form_submit 함수의 시작 부분에 : 나는 differents의 장소에 배치하려고 처음에는 발사되지 않습니다. 좋아
아래 답변으로 솔루션을 게시하고 그것을 표시해주십시오 : 난 그냥 이런 식으로 $에서 (문서) .ready (함수()는 파일 업로드 기능을 넣어했다 허용 된대로 "승인 됨". 귀하의 질문에 해결책을 게시하지 마십시오. 감사합니다. – Sparky