• 締切済み

クリックして登録の方法は!?

質問します。無料宣伝サイトなんかで見かけるのですが、ページ上のボタンでデータを送信したと同時に別ページが開いてメルマガにも登録される機能を取り付けたいのですが・・どのようにやるのでしょうか?

みんなの回答

noname#3852
noname#3852
回答No.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ファイルを表示させる方法も考えられます。 その他、方法としていくつか考えられると思いますので、構築するサイトの実情に合わせてご利用下さい。

関連するQ&A