fc2ブログ

2005-09-08

メールフォームプラグインでエセ拍手

メールフォームプラグインを利用してエセ web拍手を作ってみました。原理(というのか)はメールフォームプラグインのカスタマイズで。

基本のソースはこんな感じ。無駄な所は省いてますので正しい記述ではありません。

<form action="./" method="post">
<input type="submit" value="拍手">
<input type="hidden" name="formmail[title]" value="FC2拍手">
<input type="hidden" name="formmail[name]" value="FC2拍手">
<input type="hidden" name="formmail[mail]" value="mailform@mail.com">
<input type="hidden" name="formmail[body]" value="エセweb拍手です。このまま送信していただいて構いません。何かメッセージがあったらこの欄にどうぞ。">
<input type="hidden" name="mode" value="formmail">
<input type="hidden" name="formmail[no]" value="&formno">
</form>

注意:プラグインのメールフォームでない場合は value="&formno" を適宜数字に変える必要があります。

このソースを挿入した部分には「拍手」というボタンだけが表示され、クリックすると通常のメールフォームの確認画面に移行します。確認画面では名前や本文を書きたい方は入力できますし、拍手だけしたい方はそのまま送信ボタンを押せばエセ拍手完了です。

web拍手を借りた方が早い気もしますが、借りるのはちょっと面倒だなーという方はどうぞご参考までに。

物は試し。実物を置いておくんで適当に押してみてください。送信先は私のアドレスになってます。

メールフォームプラグインのカスタマイズ

この前追加されたメールフォームプラグインは便利そうなのですが、メールアドレスを含めた全項目が入力必須なのは少し辛いです。そこで、必須項目を自分で決める方法を書いてみます。

どうするかというと、HTML に手を加えて必須項目を初めから入力済みにしてしまいます。

<form action="./" method="post">
名前:
<input type="text" name="formmail[name]" value="" size="10">
メール:
<input type="text" name="formmail[mail]" value="" size="10">
件名:
<input type="text" name="formmail[title]" value="" size="10">
本文:
<textarea name="formmail[body]" cols="10" rows="6"></textarea>
<input type="submit" value="送信">
<input type="hidden" name="mode" value="formmail">
<input type="hidden" name="formmail[no]" value="&formno">
</form>

最初はこんな風になっていると思いますが(必要な部分以外は除いてます)、例えばこのうち「名前」と「メール」を必須項目ではなくしたい場合。

<form action="./" method="post">
件名:
<input type="text" name="formmail[title]" value="" size="10">
本文:
<textarea name="formmail[body]" cols="10" rows="6"></textarea>
<input type="submit" value="送信">
<input type="hidden" name="formmail[name]" value="FC2メールフォーム">
<input type="hidden" name="formmail[mail]" value="mailform@mail.com">
<input type="hidden" name="mode" value="formmail">
<input type="hidden" name="formmail[no]" value="&formno">
</form>

こう書き換えます。

具体的には、

  1. 消したい項目の input type="text"input type="hidden" に変える(これで入力欄が表示されなくなる)
  2. 空欄の value="" の中に好きな文字列を入れる(その文字列が入力された「名前」や「メールアドレス」として扱われる)
  3. 書き換えた項目を form 内の適当な場所に移動する

これで必須項目を減らすことができます。ただし、この方法だと入力欄自体を削除してしまい、純粋に「必須でなくする(任意入力にする)」ことはできません。

ちょっと訂正。input="hidden" にした場合、ブログではテキストを打ち込めませんが、送信する際の確認画面で入力し直すことが可能でした。実質的に任意入力になります。

自分のテンプレートで試してみたところきちんとメールが送られたので、「本文」以外を全て hidden にしてしまえば web拍手のような使い方もできるはずです。

ちなみに、プラグイン非対応のテンプレートでメールフォームを使うには value="&formno" を数字に変更する必要があります。(参考:ヒヨコ君増殖中 愛 FC2版 フリーエリアの追加

テンプレート変更

新しいテンプレートが完成に近づいてきたので、夏も終わりましたし変えました。日付ネストに特化したのではてなダイアリーっぽいデザインにできます三行程度のエントリーをバリバリ書けます。のはずです。

same_day の利用法については Verdana日付単位の括り方を参考にさせていただきました。はてなダイアリーバンザイ! って感じですね。もうはてな借りろよって感じですね。

あっやべっ IE で表示確認してなかっ