私は隠されたiframeへの投稿にフォームを持っています。フォームのアクションURLは別のドメインにあります。フォームの投稿は行われますが、フォームデータは送信されないChromeで問題が発生しています。ここでChromeでiframeターゲットを使用したクロスドメインフォームの投稿
はセットアップです:
<form action="http://anotherdomain/save" method="post" target="myiframe" id="myform">
<!-- standard form fields here -->
<button type="submit">Submit</button>
</form>
<iframe src="about:blank" name="myiframe" style="display: none;"></iframe>
ユーザーがインラインフレームにそれが必要として、フォームのポスト、ボタンをクリックすると、すべてが良好であれば。しかし、jQuery検証を導入すると、Chromeでの作業が停止します。
$("#myform").validate({
// various options set here
submitHandler: function(form) {
form.submit();
// stuff that should happen after the form submits
}
});
このシナリオでは、form.submit()は、データが投稿されずにフォームを送信するため、ヘッダーのみが送信されます。コンテンツの長さは常に0です。これはChrome、Firefox、IE、Operaでのみ発生します。
さらに奇妙なのは、ページに別のボタンがあり、それを次のコードでワイヤリングすると、フォームが正しく送信されるということです。
$("myotherbutton").click(function() { $("#myform").submit(); }
なぜChromeがこのように動作するのか、また回避策があるのかどうかはわかりません。どんな助けもありがとう。