質問: 複数のフォームを一括で自動送信することは可能ですか? いろいろ検索したのですが、それらしきものが無いように思うので、 陳腐な質問をしているかもしれませんが、よろしくお願いいたします。 ●質問1、 現在、下記の「■例1、」のようにページが開いた時点で 自動でクリックしてフォームデータを送信できるようにしています。 ■例11、 document.nform.submit(); この同じページに、下記のような全く違うaction先に、内容の一部だけ違う別のフォームを書いて、 同じように自動クリックしてデータを送る方法はありますでしょうか? 出来れば、2つだけではなく、複数のフォームを配置したいのですが・・・ →※ここの action=値が違う。 →※ここの value=値だけが違う。 色々試しておりますが、ほとんど素人のためいまだに苦戦しております。 ●質問2、 また、このやり方では無事に2つに送信できたとしても、target="blank"で2つのページが開いてしまうと思うのですが、 それを防ぐ方法(ひとつだけ開く)などはありますでしょうか。 javascriptはoffにしてないという条件下で動かす方法を考えております。 素人発想で申し訳ありませんが、何か解決法がありましたらよろしくお願いいたします。
回答: ... ... ... function listener(){ var fs = document.forms; for (var i=0; i < fs.length; i++) { // 複数フォームすべてを対象 fs[i].submit(); } } addeventlistener('domcontentloaded', listener, false); 補足 * 複数フォーム送信しても一つだけ開く場合は、最後のフォームについてのみ表示されます。 * 自動 submit で別画面表示を行うと、ブラウザによっては警告表示されますので注意してください。 * 送信後の画面を開く必要が無いなら、フォーム内容を ajax 送信するのが定番