このページの本文へ

  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

Web制作の現場で使えるjQuery UIデザイン入門 ― 第9回

jQueryによるフォームのデザインの基礎(後編)

2009年09月02日 15時30分更新

文● 西畑一馬/to-R


■リセットボタンを選択する:reset

 :resetは、type属性の値が「reset」のinput要素(リセットボタン)だけを選択するフィルターです。

 次のサンプルでは、リセットボタンが押されたときに「<p>入力内容を初期化しました</p>」という(X)HTMLをボタンの後ろに挿入します。ボタンを押すたびに(X)HTMLが繰り返し挿入されないように、one() を使って一度だけ実行されるようにしています。

サンプル17(スクリプト部分)


$(function(){
    $(":reset").one("click",function(){
        $(this).after("<p>入力内容を初期化しました</p>")
    })
})

サンプル17((X)HTML部分)


<form action="#">
    <dl>
        <dt>お名前<em>(必須)</em></dt>
        <dd><input type="text" name="name" /></dd>
        <dt>コメント</dt>
        <dd>
            <textarea name="comment"></textarea>
        </dd>
        <dd><input type="reset" src="button.jpg" alt="リセット" /></dd>
    </dl>
</form>

サンプル17(実行結果)

サンプル17
サンプル17の実行画面。リセットボタンを押すと一度だけ「入力内容を初期化しました」と表示する

■ボタンを選択する:button

 :buttonは、button要素を選択するフィルターです。

 button要素は、submit要素のようにクリックされるとform要素のaction属性に記述されたURLにフォームデータを送信します。次のサンプルでは、2つのinput属性に入力された値をif文を使ってチェックし、値が異なる場合にはem要素に「メールアドレスが異なります。」と書き込み、return false; でフォームの送信を中止します。

サンプル18(スクリプト部分)


$(function(){
    $(":button").click(function(){
        if($("input[name='mail']").val() != $("input[name='check']").val()){
            $("em").text("メールアドレスが異なります。");
            return false;
        }
    })
})

サンプル18((X)HTML部分)


<form action="check.html">
    <dl>
        <dt>メールアドレス</dt>
        <dd><input type="text" name="mail" /></dd>
        <dt>メールアドレス<em>(確認)</em></dt>
        <dd><input type="text" name="check" /></dd>
        <dd><button>確認</button></dd>
    </dl>
</form>

サンプル18(実行結果)

サンプル18
サンプル18の実行画面。2つのフォームの内容をチェックし、一致しない場合はエラーを表示する

■ファイル選択フォームを選択する:file

 :fileは、type属性の値が「file」のinput要素(ファイル選択フォーム)を選択するフィルターです。

 次のサンプルでは、ファイル選択フォームにマウスカーソルを重ねると、「<p>アップロードできるファイルは300kbまでです</p>」という(X)HTMLを挿入します。マウスカーソルが外れると、挿入したp要素は取り除きます。

サンプル19(スクリプト部分)


$(function(){
    $(":file").mouseover(function(){
        $(this).after("<p>アップロードできるファイルは300kbまでです</p>")
    }).mouseout(function(){
        $("p").remove()
    })

サンプル19((X)HTML部分)


写真:<input type="file">

サンプル19(実行結果)

サンプル19
サンプル19の実行画面。ファイル選択フォームにマウスカーソルを重ねるとメッセージが表示される
この連載の記事

関連記事

Get Microsoft Silverlight
はてブ注目ランキング
  1. 40分で覚える!jQuery速習講座1305 users
  2. Google Analyticsで知ったかぶるための10の方法111 users
  3. YUREXをWindows 7のセンサーに大改造だっ!35 users
  4. ニッチ商材はこうして売る!効率販売の賢いコツ8 users
  5. ミッション:可能な限りOSSをインストールせよ!8 users
  6. もう配色には困らない!「Adobe Kuler」1468 users
  7. 30分でできる!Webサイトを高速化する6大原則1250 users
  8. Web制作会社が作った!超使えるJavaScriptライブラリ1064 users
  9. 黒船Google汐留沖に出現でWeb広告業界に激震!982 users
  10. Web制作に超便利!無料のプロトタイプ作成ツール786 users
最新記事

特設サイト

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

お買い得・バーゲン品情報

Norton Internet Security 2010

Norton Internet Security 2010

シマンテック

5429円~

34%OFF!!

やよいの青色申告 10

やよいの青色申告 10

弥生

7721円~

26%OFF!!

Norton Internet Security 2010 ニコニコパック

Norton Internet Security 2010 ニ…

シマンテック

5462円~

34%OFF!!

一太郎2010 [25周年記念パック] バージョンアップ版

一太郎2010 [25周年記念パック] バージョンアップ版

ジャストシステム

6945円~

17%OFF!!

Adobe Photoshop Elements 8 日本語版 Windows版

Adobe Photoshop Elements 8 日本語版…

アドビシステムズ

1万1340円~

22%OFF!!

Age of Empires III : Complete Collection

Age of Empires III : Complete C…

マイクロソフト

7890円~

20%OFF!!

JUST Suite 2010 [一太郎25周年記念パック] 特別バージョンアップ版

JUST Suite 2010 [一太郎25周年記念パック] …

ジャストシステム

1万2980円~

18%OFF!!

一太郎2010 [25周年記念パック] アカデミック版

一太郎2010 [25周年記念パック] アカデミック版

ジャストシステム

6973円~

17%OFF!!

Office Standard 2007 アップグレード Office 20周年記念 優待パッケージ

Office Standard 2007 アップグレード Of…

マイクロソフト

1万4299円~

20%OFF!!

Norton AntiVirus 2010

Norton AntiVirus 2010

シマンテック

4194円~

32%OFF!!

Amazon.co.jp