ng-upload-before-submit未被调用

时间:2013-12-18 13:17:09

标签: html forms angularjs

使用ng-upload并尝试在表单上同时使用ng-upload-before-submit和ng-upload-loading。但后者被调用而前者(我希望在表单提交之前进行一些验证)不会。请问有人请指点方向吗?我的HTML代码如下。

    <form id='picUpload' name='picUpload' ng-upload-before-submit="validate()" method='post' data-ng-upload-loading="submittingForm()" action='uploadProfilePic' data-ng-upload='responseCallback(content)' enctype="multipart/form-data">

    <fieldset class="control-group" id="username_fieldset">
        <label class="control-label" for="user_screen_name">Username</label>
            <div class="controls">
            <p class="notification" id="username_notification"></p>
            <input type="text" name="name" data-ng-model="user.name" maxlength="15" id="user_screen_name">
        </div>
    </fieldset>

在我的app.js中,我正在执行以下操作:

       $scope.submittingForm = function(){
         //set some flag and etc
       }

       $scope.validate = function(){
         //check if the input field is valid
          if(valid field){
            alert("checked status");
            return true;
          } else {
            return false;
          }

非常感谢这里的任何指导!

谢谢和问候!

1 个答案:

答案 0 :(得分:1)

  • “ng-upload-before-submit”错误。它应该是 NG-的选项 -upload-之前提交。 (我犯了同样的错误,跟着自述文件)

  • 在ng-upload里面的
  • 我改变了两件事:

    • 我更新了https://github.com/twilson63/ngUpload/pull/94
    • 之后的ng-upload.js文件
    • 我还定制了ng-upload.js,以便我可以通过angularjs理解在调用ng-upload-before-submit相应功能(控制器内部)时调用的范围。 (这些变化对我有好处..不知道它是否做得好)。请注意,控制器函数应返回true,以便可以调用apply。

我在ng-upload.js中的一些变化:

    if (options.beforeSubmit) {  

 var back=options.beforeSubmit(scope);  

if (back) {scope.$apply(function() {});
            }
             return back;  
           }

PS:我要感谢ngUpload的作者提供了很好的库。