AngularJS在提交事件上改变表单动作

AngularJS changing a form action on the submit event

本文关键字:表单 改变 提交 事件 AngularJS      更新时间:2023-09-26

我有一个表单,其中url动作来自API调用。

因此,在表单的提交事件中,我需要调用一个接收URL的API,然后我需要设置表单的动作并触发POST。

但是,所有步骤必须只在用户单击提交按钮时运行。

我试着:

<form name="myForm" ng-submit="form.submit()" method="post" enctype="multipart/form-data" >
    <input type="file" name="file" id="file">
    <input type="submit" value="Upload Image" name="submit">
</form>

angular.module('formCtrl', ['formService', 'authService'])
.controller('formController', function($scope, $http, Form, AuthToken) {
    var vm = this;
    vm.submit = function() {
        Form.get().success(function(data) 
        {
            if (data.url) 
            {
                document.myForm.action = data.url;
                document.myForm.submit();
            }
        });
    }
});

但没有工作。事实上,我尝试了很多事情都没有成功。

我没有在我的项目中使用jquery。

谁能告诉我怎么做呢?

submit添加到$scope中,并指定ng-controller为控制器formController