POST请求操作表单动态网址角度不起作用

时间:2016-08-12 08:01:54

标签: javascript angularjs forms

我使用iframe将文件发布到后端以避免整页加载。该操作需要根据用户的选择发布到动态位置。即,取决于用户点击不同id的元素,然后将改变POST请求的动作的位置。当我在url中硬编码时它工作 - 即www.test.com/1,但是当我使用angular动态更改动作url时它不起作用,虽然我在检查元素时可以看到正确的url,但是POST请求不是发生。我正在使用angular version 1.2.1

请参阅下面的代码

<iframe id="uploadTrg" name="uploadTrg" height="0" width="0" frameborder="0" scrolling="yes"></iframe>

<form id="myForm" action="{{actionUrl}}" method="post" enctype="multipart/form-data" target="uploadTrg">
   File: <input type="file" name="cv">
   <input type="submit" value="Submit" id="submitBtn"/>
</form>

<div class="role-list" ng-repeat="(key, val) in obj">
    <div ng-repeat="subValue in val track by $index">
       <p class="role" ng-click="getId(subValue.id)">{{subValue.public_name}}</p>
    </div>
</div>

CONTROLLER

$scope.getId = function(id) {
    $scope.actionUrl = 'http://www.test.com/' + id;
}

2 个答案:

答案 0 :(得分:0)

试试这个:

$scope.getId = function(id) {
    document.myForm.action = 'www.test.com/' + id;
}

“myForm”是表单<form name="myForm>

的名称

答案 1 :(得分:0)

找到答案。

必须在函数之前添加$ scope.actionUrl才能使其工作。

Original answer here

$scope.actionUrl = '/';

$scope.getApplicationId = function(applicationId) {
    $scope.actionUrl = 'http://www.test.com/' + id;
}