2014-03-26 30 views
0

在一些實體編輯頁面有一個圖像管理部分 - 圖像管理通過blueimp jQuery文件上傳+角插件實現。Blueimp jQuery文件上傳與角度提交所有表單,但不只是文件

我不能把圖像管理的形式,因爲嵌套形式是不允許的。從例如 使用代碼:

.form-group{'data-ng-app' =>'demo', 'data-ng-controller' => 'DemoFileUploadController', 'data-file-upload' => 'options', 'ng-init' => "options.url='#{add_image_promotion_path(@promotion)}'", 'data-ng-class' => "{'fileupload-processing': processing() || loadingFiles}"} 
    .col-sm-6 
    .fileupload-buttonbar 
     %span.btn.btn-success.fileinput-button 
     %i.glyphicon.glyphicon-plus 
     %span Add image... 
     %input{type: :file, multiple: 'multiple', name: 'image'}/ 
     %button.btn.btn-primary.start{type: :submit, 'data-ng-click' => 'submit()'} 
     %i.glyphicon.glyphicon-upload 
     %span Start upload 
     %button.btn.btn-warning.cancel{type: :reset, 'data-ng-click' =>'cancel()'} 
     %i.glyphicon.glyphicon-ban-circle 
     %span Cancel upload 
     %span.fileupload-process 

http://blueimp.github.io/jQuery-File-Upload/angularjs.html

控制器,一切都像例子中,我使用DIV,而不是形式的唯一區別。

問題是我添加文件並點擊上傳後 - 整個表單提交發生,但我只需要文件上傳。 請指教。

+0

這是CoffeeScript的或紅寶石或某事的例子嗎?我不太瞭解任何代碼示例。 – BenCr

+0

其實際上是:) –

+1

嘗試改變你的按鈕類型從提交到按鈕,然後點擊它不會提交表單,但ng-click仍然會執行。 – BenCr

回答

0

當您選擇file時,每個文件都堆疊在一個queue陣列中。您可以從queue中獲取file並在ng-click中執行file.$submit()

下面是上傳只last picked文件

%button.btn.btn-primary.start{type: :button, 'data-ng-click' => 'queue[queue.length - 1].$submit()'} 
    %i.glyphicon.glyphicon-upload 
    %span Start upload 
    %button.btn.btn-warning.cancel{type: :reset, 'data-ng-click' =>'queue[queue.length - 1].$cancel()'} 
    %i.glyphicon.glyphicon-ban-circle 
    %span Cancel upload 
相關問題