私はトリッキーな問題に直面しています: ng フォーム内にアクション属性を持つ古いスタイルのフォームを作成する必要があります。
私がこれを行っている理由は、古いスタイルのフォームからの POST リクエストが別の Web サイトに送られ、ユーザーが 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();
}