廃止?されたMTNoSearch対策
最近ブログをさぼりがちでした…申しわけありません。
MTは4.1以前まで、「検索バーが空白だった場合」の表示を出すための<MTNoSearch>というタグがあったのですが、MT4.2になりMTの検索機能という名目で<MTNoSearch>が無効になってしまいました。
そのため、空白のまま検索をかけるとMTのエラーメッセージが出てしまうため、普通のサイトとしてデザインされていた場合は急にMTの画面になるため、不便というのもありますがMTで作っていることがバレてしまうというのもよろしくありません。
そこで、応急処置ですがJavaScriptを利用しての回避策を紹介します。
まず下記スクリプトを、HTMLのヘッダ内でも別ファイルでも良いので記述してください。
function inputFocus(obj,txt) {
if (obj.value == txt) obj.value = "";
}
function inputBlur(obj,txt){
if (obj.value == "") obj.value = txt;
} そして検索フォーム(inputタグ)を下記のように記述してください。
※タグ前後のカッコは半角にしてください。
<input type="text" class="text" id="search" name="search" value="キーワード検索" onfocus="inputFocus(this,'キーワード検索')" onblur="inputBlur(this,'キーワード検索')" />
以上で応急処置になります。
解説
inputFocus
検索フォームをクリックした際に、中身が指定したテキスト(初期値)だった場合に空白にするという処理をしています。
inputBlur
検索フォームから外れた際に、中身が空白だった場合に指定したテキスト(初期値)を入れるという処理をしています。
<MTNoSearch>対策という以外に、MTを利用していないサイトでもユーザビリティ向上にも効果がありますので是非試してみてください。
[javascript] [movabletype] [tips]
投稿日:08年10月10日 09:42:25
- 次の記事:PHPで月末が何日かを取得する
- 前の記事:Windows FTPコマンドことはじめ

