- 締切済み
クリックして登録の方法は!?
質問します。無料宣伝サイトなんかで見かけるのですが、ページ上のボタンでデータを送信したと同時に別ページが開いてメルマガにも登録される機能を取り付けたいのですが・・どのようにやるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
createさん、こんにちは。 質問の意を、2箇所に同じデータを送信したいと考えれば、よろしいのでしょうか。 まず1つは、一旦片方に送信して、結果として表示するhtmlソースの中に隠しフォームを用意して、そのソースの表示と同時に、隠しフォームから他方に送信する方法です。 以下のように、隠しフォームの中にhiddenパラメータを埋め込み、<body>タグのonloadイベントハンドラで、その隠しフォームを送信するように指定しておけば、表示されたと同時に送信されます。このとき、隠しフォームのターゲットを _blank としておけば、別ウィンドウが開きます。 <html> <body onload="document.submitForm.submit()"> <中略> <form name="submitForm" action="他方のURL" target="_blank"> <input type="hidden" name="再度送信したいパラメータ名" value="再度送信したいパラメータ値" /> </form> </body> </html> また、結果HTMLに埋め込まないで、入力画面のHTMLで2回送信するようにすることも可能です。 以下のように送信ボタン押した際、一旦、ターゲットを _blank として別ウィンドウで片方に送信し、ターゲットを _self として自分自身のウィンドウで他方に送信します。 <html> <head> <script language="JavaScript"> function submitTwice() { var f = document.submitForm; f.target = "_blank" ; f.action = "飛び先その1" ; f.submit(); f.target = "_self" ; f.action = "飛び先その2" ; f.submit(); } </script> </head> <body> <form name="submitForm"> <input type="入力するタイプ" name="両方に送信したいパラメータ名" value="両方に送信したいパラメータ値" /> <input type="button" value="送信" onclick="submitTwice()" /> </form> </body> </html> また、同じ内容を2回送信するのがまずい場合は、送信先のサーバーで2つの作業を行い、片方の結果を表すhtmlファイルを作成し、もう1つの作業結果を表示します。この際、 window.open などを利用して作成したhtmlファイルを表示させる方法も考えられます。 その他、方法としていくつか考えられると思いますので、構築するサイトの実情に合わせてご利用下さい。