2015-11-26 39 views
2

我有我的HTML/JS代碼,在我的簡單的JSP頁面:

<script type="text/javascript" src="jquery-2.1.1.min.js"></script> 
<script type="text/javascript" src="jquery.ui.widget.js"></script> 
<script type="text/javascript" src="jquery.iframe-transport.js"></script> 
<script type="text/javascript" src="jquery.fileupload.js"></script> 
<body> 

<form id="MyID" method="post" action="JSFPAGE" enctype="multipart/form-data"> 

<span class="btn btn-success fileinput-button"> 
    <i class="glyphicon glyphicon-plus"></i> 
     <span>Select files...</span> 
     <input id="fileupload" type="file" name="files[]" multiple> 
</span><br><br> 
<!-- The global progress bar --> 
<div id="progress" class="progress"> 
    <div class="progress-bar progress-bar-success"> 
    </div> 
</div> 
<!-- The container for the uploaded files --> 
<div id="files" class="files"> 
</div> 

<script type="text/javascript"> 
$(function() { 
    'use strict'; 
    // Change this to the location of your server-side upload handler: 
    var url = 'xUpload.xsp'; 
    $('#fileupload').fileupload({ 
     url: url, 
     dataType: 'json', 
     done: function (e, data) { 
      $.each(data.result.files, function (index, file) { 
       $('<p/>').text(file.name).appendTo('#files'); 
      }); 
     }, 
     progressall: function (e, data) { 
      var progress = parseInt(data.loaded/data.total * 100, 10); 
      $('#progress .progress-bar').css(
       'width', 
       progress + '%' 
      ); 
     } 
    }).prop('disabled', !$.support.fileInput) 
     .parent().addClass($.support.fileInput ? undefined : 'disabled'); 
}); 
</script> 
</form> 
</body> 

這是非常簡單的...並且所有JS資源都可以。 但在控制檯中我看到這樣的錯誤:

類型錯誤:$(...)文件上傳不是一個函數 $( '#文件上傳')文件上傳({

有你?任何建議我的問題

+0

d你有什麼解決方案?我有同樣的問題 –

回答

3

我有同樣的問題,我剛搬來的js文件關閉body標籤之前,它的工作:

<script type="text/javascript" src="jquery-2.1.1.min.js"></script> 

<body> 

<form id="MyID" method="post" action="JSFPAGE" enctype="multipart/form-data"> 

<span class="btn btn-success fileinput-button"> 
    <i class="glyphicon glyphicon-plus"></i> 
     <span>Select files...</span> 
     <input id="fileupload" type="file" name="files[]" multiple> 
</span><br><br> 

... 

<script type="text/javascript"> 
$(function() { 
    'use strict'; 
    // Change this to the location of your server-side upload handler: 
    var url = 'xUpload.xsp'; 
    $('#fileupload').fileupload({ 
     url: url, 
     dataType: 'json', 
     done: function (e, data) { 
      $.each(data.result.files, function (index, file) { 
       $('<p/>').text(file.name).appendTo('#files'); 
      }); 
     }, 
     ... 
}); 
</script> 

</form> 
<script type="text/javascript" src="jquery.ui.widget.js"></script> 
<script type="text/javascript" src="jquery.iframe-transport.js"></script> 
<script type="text/javascript" src="jquery.fileupload.js"></script> 
</body> 
+0

我做了同樣的事情,但仍然不穩定:( –