2005年03月16日

メールフォーム送信時にページのタイトルを取得

ある日ふと、イラストページにもひとことフォーム置こうかしらと思ったんですが、公開しているカラーイラストだけでも30枚くらいあるわけで。
どのイラストについたコメントかわかるようにしたいのだけれど、イラストごとに送信する値を書き換えるのはめんどいなーと思って、ちょっと工夫してみました。
<script type="text/javascript">
<!-- 
function Post(Form) {
 // 空メールチェック
 if ((Form['感想'].value == 'ご感想・ツッコミなどお気軽に')||
  (Form['感想'].value == '')) {
  alert ('空メールはご遠慮ください。');
  return false; // 空だと送信しない
 }
 // サンクスメッセージ表示用小窓
 window.open('','thanks','width=300,height=200');
 // タイトルを取得
 Form['タイトル'].value = document.title;
}
 -->
</script>
<form method="post" action="xxx.cgi" onsubmit="return Post(this)" target="thanks">
 <input type="hidden" name="_set" value="2">
 <input type="hidden" name="_subject" value="イラスト感想">
 <input type="hidden" name="タイトル" value="">
 <input type="text" name="感想" value="ご感想・ツッコミなどお気軽に" size="60"
 style="color:#999999;border:solid 1px #999999" onclick="this.value=''">
 <input type="submit" value="送信"
 style="background-color:#ffffff;color:#999999;border:solid 1px #999999">
</form>
(※フォームのアクション部分は書き換えてます。コピペすると私に届いちゃうのは勘弁)
送信しようとすると、ページのタイトルを取得して「タイトル」という項目にその値を入れてくれるスクリプトつきの、1行メールフォーム。
ついでに、デフォルト値や空欄で送信するとアラートが出て送信を止めるスクリプトも仕込んであります。 formのターゲットを"thanks"に指定して、送信前にその名前をつけた空っぽの小窓を開き、送信後のありがとうメッセージはそっちに出しています。

javascriptをオフにしていても、単に「タイトル」の項目が空の状態で普通に送信するだけだし、特に問題はありません。リファラ取れるCGIだし。
問題はむしろ、閲覧者のめっちゃ少ないイラストコーナーにフォームを設置する意味がはたしてあるのかということかもしれない(笑)

ちなみに、実際のページはこんなんなってます。▼
http://www6.plala.or.jp/HANAMEIRO/sketch/Chris_standing.html
posted by 文月夕 at 16:56| Comment(0) | TrackBack(0) | web技 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/2442891

この記事へのトラックバック

PR

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。