我面临一个棘手的问题:我必须在ng-form中创建一个带有action属性的旧样式表单。
我这样做的原因是来自旧式表单的POST请求转到另一个网站,用户应该被重定向" (实际上在新页面中)到POST请求的结果(这使得登录类型)。
我可以从javascript模拟旧式表单,但浏览器弹出窗口阻止程序会捕获它,它必须像点击链接一样简单。
我无法触及外部格式,因为它来自框架。
所以我拥有的是:
<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>
我无法找到一种方法来完成这项工作:)希望你能提供帮助。
[edit] 好的,我觉得很蠢。看来你可以有一个按钮来调用一个函数来模拟和提交表单,而不会遇到浏览器弹出窗口拦截器的麻烦......
它似乎也不适用于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();
}