1

動的に作成されたフォームを投稿して、結果を新しいウィンドウに表示しようとしていますが、Chrome でのみ機能します。FF と IE はどちらも、そのコードをヒットしても何もしません。

$('<form>').attr({ method: 'POST', action: data.Url, target: '_blank' })
    .append($('<input>').attr({ type: 'hidden', name: 'Field1', value: data.field1Data }))
    .append($('<input>').attr({ type: 'hidden', name: 'Field2', value: data.field2Data }))
    .submit();

その原因は何ですか?

4

2 に答える 2

5

フォームは、少なくとも IE ではドキュメントに含まれている必要があります。おそらく、Firefox でも同様のようです。

$('<form>').attr({ method: 'POST', action: data.Url, target: '_blank' })
    .append($('<input>').attr({ type: 'hidden', name: 'Field1', value: data.field1Data }))
    .append($('<input>').attr({ type: 'hidden', name: 'Field2', value: data.field2Data }))
    .appendTo("body")
    .submit()
    .remove();
于 2012-08-15T15:18:24.097 に答える
0

最初にHTML内にフォームを追加してみてください。submit()を呼び出す前に最後に追加してください。例:

.appendTo('body').submit();
于 2012-08-15T15:18:59.167 に答える