** 目次 [#hba57952]
 
 - [[概要>#hbace0101]]
 -- [[HTML5のplaceholder>#hbace0102]]
 -- [[ここで問題が…>#hbace0103]]
 -- [[JavaScriptのplaceholderライブラリ>#hbace0104]]
 - [[JavaScriptのplaceholderライブラリ+微カスタマイズ>#hbace0201]]
 -- [[プログラム>#hbace0202]]
 -- [[検証ブラウザ>#hbace0203]]
 -- [[微カスタマイズの内容>#hbace0204]]
 -- [[使い方>#hbace0205]]
 -- [[もっかいプログラムについて>#hbace0206]]
 
 
 ** 概要 [#hbace0101]
 
 *** HTML5のplaceholder [#hbace0102]
 
 HTML5のplaceholderを実運用で利用する話があり、下記のように簡単に実装できて
 HTML5はスバラシイな、と思っていました。
 
  <form action="submit_test.php" method="get">
  <p>住所:
  <ul>
  <li>都道府県 <span>(必須)</span> 例:東京都<br />
  <input type="text" name="address1" value="" placeholder="都道府県をご入力ください。" /></li>
  <li>市区町村 <span>(必須)</span> 例:中央区<br />
  <input type="text" name="address2" value="" placeholder="市区町村名をご入力ください。" /></li>
  <li>町名・番地 <span>(必須)</span> 例:銀座 1-250-999<br />
  <input type="text" name="address3" value="" placeholder="町名と番地をご入力ください。" /></li>
  <li>ビル名・マンション名 例:ナントカ本命ビル 7F<br />
  <input type="text" name="address4" value="" placeholder="もしビル名等がないようでしたら必要ございません。" /></li>
  </ul>
  </p>
  <input type="submit" name="submit" value="送信" />
  </form>
 
 ▼完成イメージ&動作確認は下記参照。
 http://okra.ark-web.jp/~takemura/public/js/placeholder/html5_placehoder.html
 
 #ref(html5_ver.jpg);
 
 *** ここで問題が… [#hbace0103]
 
 SIZE(18){''でも、ちょっと待ってください!''}
 
 COLOR(red){''IE8/IE7 で表示すると、placeholderは効きません。''}
 
 …どうするか、というとJavaScriptで実装すればいいじゃなイカ!
 
 *** JavaScriptのplaceholderライブラリ [#hbace0104]
 
 JavaScriptでplaceholderを実装しているライブラリを探してきました。
 
 - ahomuさんの『[[HTML5のplaceholder属性をjQueryでやってみる>http://havelog.ayumusato.com/develop/javascript/entry-86.html]]』より、
 実装がシンプルなのでこちらを利用することにしました。
 
 - はてブのコメントに書きましたが、
 defaultColorの他にrequiredColorってのを付けて、hasClass("required")だったらrequiredColorにすると尚良さそう。 
 
 …というわけで、やってみました。
 
 
 ** JavaScriptのplaceholderライブラリ+微カスタマイズ [#hbace0201]
 
 ▼完成イメージ&動作確認は下記参照。
 http://okra.ark-web.jp/~takemura/public/js/placeholder/
 
 #ref(javascript_ver.jpg);
 
 
 *** プログラム [#hbace0202]
 
 GitHubからforkしまして、下記にソース一式を置いてあります。
 https://github.com/tiadeen2/jquery.ah-placeholder
 
 ライセンスは、MITとGPLのデュアルライセンスです。
 
 #blikimore()
 
 *** 検証ブラウザ [#hbace0203]
 
 下記のブラウザで動作を確認済みです。
 
 - WindowsXP IE6
 - WindowsXP IE7
 - WindowsXP IE8
 - WindowsVista IE9
 - WindowsXP FireFox5
 - WindowsXP Chrome12
 - Mac OS10.6 Safari5
 
 
 *** 微カスタマイズの内容 [#hbace0204]
 
 以下について、微カスタマイズしました。
 
 - オプションに必須カラーを追加
 - Firefoxなどで入力し始めた時に、CSSの色を取ってこれていないようだったのを改修
 
 
 *** 使い方 [#hbace0205]
 
 細かい仕様は[[ahomuさんの元記事参照>http://havelog.ayumusato.com/develop/javascript/e189-jquery-plugin-placeholder.html]]
 
  $(document).ready(function() {
      $('.jq-placeholder').ahPlaceholder({
          placeholderColor : 'darkgray',
          necessaryColor   : 'palevioletred'  // ←必須カラーを指定できるようになった!
      });
  });
  $(window).unload(function(){}); // ←この設定をしておかないと、history.backなどで戻った時に ready が実行されなくなる。
  
   :
  
  &lt;input type="text" name="address1" value="" title="都道府県をご入力ください。" class="jq-placeholder necessary" /&gt;
  &lt;input type="text" name="address4" value="" title="もしビル名等がないようでしたら必要ございません。" class="jq-placeholder" /&gt;
  
  ↑必須カラーにしたい場合は、classに necessary を追加する。必須にしない場合は、necessaryを指定しない。
 
 
 *** もっかいプログラムについて [#hbace0206]
 
 下記にソース一式を置いてあります。
 https://github.com/tiadeen2/jquery.ah-placeholder
 
 ライセンスは、MITとGPLのデュアルライセンスです。
 
 
 #blikifooter(竹村)
 
 ----
 tag:[[JavaScript>tag/JavaScript]], [[HTML5>tag/HTML5]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら