我想提交一个表单,但先添加一些隐藏的输入。隐藏的输入通过 ng-repeat 添加。最终它们将被呈现,但我如何确定在触发提交事件之前 DOM 已经更新?
部分的:
<form ng-submit="addValuesAndSubmit()">
<input type="hidden" name="{{name}}" value="{{value}}" ng-repeat="(name, value) in order">
<input type="submit">
</form>
控制器:
$scope.addValuesAndSubmit = function() {
$scope.order = { param1: 1, param2: 2 };
// TODO: wait until form is rendered
// there should be two <input type="hidden"> now
// trigger submit action
};
据我了解,可以为此使用指令的后链接功能。我是对的还是我遗漏了一些明显的东西?
编辑:表单数据需要发布到外部网站,将浏览器重定向到响应。这是一个支付集成,我在服务器上计算 HMAC,将其作为隐藏元素添加到表单中,然后将其发布到支付提供商。$http.post() 的实现似乎没有进行重定向,而是返回响应。