javascript - 在 AngularJS 中提交表单?

标签 javascript angularjs forms

我有一个这样的模板:

<div><form id="appForm" method="POST" action="{{form.formActionAttr}}">
            <table class="form-table">
                <tr>
                    <td>
                        <input name="input1" type="hidden" value="{{form.input1}}"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input name="input2" type="hidden" value="{{form.input2}}"/>
                    </td>
                </tr>
            </table>
        </form></div>

这是 Controller :

function SamlFormController($scope, $sce, metadataService) {
    $scope.form = {};
    $scope.form.formActionAttr = $sce.trustAsResourceUrl('some.url');
    $scope.form.input1 = 'input1';
    $scope.form.input2 = 'input2';

    $scope.submitForm = function() {
        document.getElementById('appForm').submit();
    };
    $scope.submitForm();
}

这是我的意图: Controller 运行submitForm()方法,该方法将HTTP POST请求发送到form.formActionAttr url。

但是使用上面的代码,当调用 $scope.submitForm() 时,action="{{form.formActionAttr}}"尚未填充。

如何解决这个问题?

提前致谢:-)

最佳答案

问题是只有在应用程序真正初始化后才会设置 url。所以你需要把改变推到后期。您可以使用 $timeout 服务轻松地做到这一点:

function SamlFormController($scope, $sce, $timeout, metadataService) {
    $scope.form = {};
    $scope.form.formActionAttr = $sce.trustAsResourceUrl('some.url');
    $scope.form.input1 = 'input1';
    $scope.form.input2 = 'input2';

    $scope.submitForm = function() {
        document.getElementById('appForm').submit();
    };
    $timeout(function() { $scope.submitForm() });
}

关于javascript - 在 AngularJS 中提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48290523/

相关文章:

javascript - 如何使用 REST API 将表单数据从 ionic 应用程序发送到 parse.com MBaaS

javascript - Angularjs指令删除父div中的所有内容

javascript - 如何通过 JavaScript 在输入中设置值?

javascript - 停止刷新表单但进行发布

javascript - 对齐 jQuery 列表

javascript - 递归地从对象(包括父对象)中删除未定义的

javascript - Backbone 模型可以与 Angular 一起使用吗?

javascript - 如何使用 JavaScript 动态更改事件处理程序?

javascript - angular.js 模块化 - 多个 ng-apps?

javascript - 如何在 Rails 3 中切换 <div> 的显示?