1

我面临一个棘手的问题:我必须在 ng-form 中制作一个带有 action 属性的旧式表单。

我这样做的原因是来自旧式表单的 POST 请求转到另一个网站,并且用户应该被“重定向”(实际上是在一个新页面中)到 POST 请求的结果(这使得登录)。

我可以从 javascript 模拟旧式表单,但浏览器弹出窗口阻止程序会捕获它,并且它必须像单击链接一样简单。

我无法触及外部 ng-form,因为它来自框架。

所以我所拥有的是:

<div ng-form>
...
...
  <form action="old_website.com/index.php" method="post" target="_blank">
    <input type="hidden" name="field1" value="value1">
    <input type="submit" value="Submit">
  </form>
...
...
</div>

我找不到使这项工作的方法:) 希望您能提供帮助。

[编辑]好吧,我觉得自己很愚蠢。似乎您可以有一个按钮来调用函数来模拟和提交表单,而不会遇到浏览器弹出窗口阻止程序的问题......

它似乎也不适用于 Firefox。

我正在做的是:

HTML:
<button ng-click="submitForm()">Submit</button>

JS:
$scope.submitForm = function() {
  var form = $('<form>', {
    action: 'old_website.com/index.php',
    type: 'post',
    target: '_blank'
  });
  form.append($('<input>', {name: 'field1', value: 'value1'}));
  form.submit();
}
4

1 回答 1

0

由于编辑解决了我遇到的第一个问题,我将关闭此问题并为 Firefox 问题打开另一个问题。

多谢你们 :)

[编辑] 解决了 Firefox 的问题。

于 2016-02-05T11:31:56.157 回答