タグ

JavaScriptとUsabilityに関するpmakinoのブックマーク (106)

  • jQueryでフォームをAjax送信する際の基本パターンのチュートリアル。二重送信の防御とか。 | Ginpen.com

    仕事の進みがちょいとアレなので、現実逃避もとい気分転換に。 フォームの入力内容を、jQuery.ajax()を使ってサーバーへ送信したいって時のパターンです。 基的な流れ フォームのsubmitを拾う 通常の送信はキャンセル 送信ボタンを無効化 送信先URLやフォームの入力値を取得 送信 受信後、送信ボタンを戻す 入力値をどう得るか、というのがポイントかと思います。 送信ボタンを無効化するってのはやらなくても良いんだけど、誤操作防止のためにも是非やって頂きたいと思います。あと送信ボタンの制御以外にも応用がききます。 デモ なんかお問い合わせフォーム的なものを用意しました。 まー実際にお問い合わせフォームをAjaxで送信する場面なんてないような気もするんですが、基パターンという事で。

    jQueryでフォームをAjax送信する際の基本パターンのチュートリアル。二重送信の防御とか。 | Ginpen.com
  • 入力フォームの全角・半角を勝手に変換してくれるJavaScript

    入力フォームの全角・半角を勝手に変換してくれるJavaScriptを作りました。 1.発端 「入力フォームの迷宮。全角数字を強要するフォームを理解できません。」を読んで、たしかに私も半角全角の入力を強制されるフォームには辟易してしまいます。 というか、半角全角どちらでも良いという登録フォームを(多分)見たことがありません。 それはさておき、システム側で半角文字・全角文字の制御が不能であれば、せめてフロントエンドでなんとかできるんじゃないの?と思ったのが、作ったそもそもの発端です。 2.半角を全角に変換する仕組み 半角文字の文字コードから65248番目の文字コードが全角文字になるようです。 よって半角を全角に変換するには、charCodeAt()で参照した半角文字コードに65248を加算したあと、fromCharCode()で文字コードを文字に戻します。 "ABC".replace( /[A

    入力フォームの全角・半角を勝手に変換してくれるJavaScript
  • チェックボックスやinput要素などのフォーム周りのユーザビリティを少しだけ向上できる地味に便利なjQueryコードいくつか - かちびと.net

    フォームで利用するjQueryのスニペット コードをいくつか。どれも既出だと思う のでおさらいという事で。とはいえ、所詮 はスニペットですので実際に導入する際 は動作をしっかりと検証する事を強く 推奨します。 フォーム周りのjQueryスニペットです。自分用のメモも兼ねて。 フォーム関係は色々面倒なので参考にならない事もあるかと思います。「ふーん」程度にご覧頂くと丁度いいと思います。 Placeholder属性を、非対応ブラウザでは表示/非表示に 便利なHTML5のPlaceholder属性をオールドブラウザでは表示/非表示として対応します。 if(!$.support.placeholder) { var active = document.activeElement; $(':text').focus(function () { if ($(this).attr('placeholde

    チェックボックスやinput要素などのフォーム周りのユーザビリティを少しだけ向上できる地味に便利なjQueryコードいくつか - かちびと.net
  • なぜ入力しにくいformが蔓延するのか? - 職業プログラマの休日出勤

    先日のhotentryにこんなスライドが登場していました。 ふつうのformをつかいたい - はまちや2 - ニコニコ超会議2012 ここで述べられていることの多くは、入力し易いformを作る為に非常に有益なものだと思います。技術的にもそれほど難しい話ではないです。こういう理想を掲げている技術者やマネージャもこの世には多数存在します。それではなぜ、こういう簡単なことすら実装できていないformが蔓延してしまっているのでしょうか。その原因(の推測)をいくつか列挙してみました。 当に技術力が無い 冒頭に紹介したスライドに出て来る話題の多くを、自分の得意とするプラットフォームですら実装できないような技術者がこの世に居ることは確かです。そんな方々の手にかかれば、どのようなformが出来上がるかは容易に想像できます。まあ、可能性としてはそんなに高くはないと思います。 仕様化が難しい 一般的に、ある

    なぜ入力しにくいformが蔓延するのか? - 職業プログラマの休日出勤
    pmakino
    pmakino 2012/05/11
    「仕様…盛り込まれていない場合…開発してしまうと「契約違反」」<エエエエ?「余計なサービスせんでいい」と上司に窘められるならわかるけど、契約違反は違くね?あとJavaScriptの話はおかしいと思うのでコメントした。
  • フォームの入力項目に入力例を表示する | ユーザビリティ・EFOマニア!!

    前回のエントリーで「お客様に優しいユーザビリティフォーム設計」についての話をしましたが、その実践例の一つをご紹介します。 これはformnotifierというJQueryで出来ている非常に軽いライブラリなんですが、テキスト入力ボックスにヒント表示することができます。 動作デモ 使い方は <script> $(document).ready(function(){ $(‘:input’).formNotifier(); }); </script> というコードを入力フォームページに追加するだけ。 これで「inputタグ」の「title属性」がヒント表示されます。 デフォルトだと表示がいまいちなので見た目を変える場合は、CSSで「formnotifier」クラスを変更してあげれば表示変更は可能です。 オススメはこんな感じ。 <style type=text/css> .form

  • [JS]a要素を内包するdiv要素全体をクリッカブルにするスクリプト -Div Linker

    テキストリンクなどのa要素を内包するdiv要素の全部をクリック可能にするjQueryのプラグインを紹介します。 Div Linker デモページ [ad#ad-2] Div Linkerの実装 実装は非常にシンプルです。 外部ファイル 「jquery.js」と当スクリプトを外部ファイルとして指定します。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="jquery.divlinker1.0.js"></script> HTML デモのようにテキストリンク(a要素)をdiv要素で内包します。 <div class="divlinker"> <img src="image.jpg" width="151" height="130" /> <

  • クリック可能な箇所でa要素を使用しない時に気をつけたい3つのポイント

    リンクではない、例えばJavaScriptを埋め込むなどのクリッカブルな箇所でアンカーリンクを使用しない時に気をつけたい3つのポイントを紹介します。 When (and when not to) use an anchor tag? [ad#ad-2] 下記は各ポイントを意訳したものです。 a要素は、いつ使うべきでしょうか。 私はそれがクリック可能である時に、a要素を気前よく使用していました。しかし、a要素の定義を考えてみると、セマンティックではない使い方をしている場合があるのではないかと思いました。 例えば、Gmailのソースを調べてみると、クリック可能な大部分の箇所はdiv要素を使用しています。これはJavaScriptのイベント用のもので、a要素を使用すべきではないものです。 では、そのa要素を使用しない場合、ユーザーにそれがクリック可能であるように見せるために、どのようにしたらよい

    pmakino
    pmakino 2011/08/26
    「a要素の定義を考えてみると、セマンティックではない使い方をしている場合がある」
  • 資料を公開しました(食べログ×クックパッド合同勉強会) - クックパッド開発者ブログ

    2011年8月5日(金)に、クックパッドにてべログ様と合同勉強会を開催いたしました。 そのときにクックパッドエンジニアが使用した発表資料を公開いたしますので、ぜひご覧くださいませ。 当日お忙しい中お集まりくださった皆様、Usteramでご覧になった皆様、どうもありがとうございました。 ●高田悟史(@satoship) いかにしてユーザ体験を保証するか [slideshare id=8835134&w=425&h=355&sc=no] View more presentations from Satoshi Takada ●太田昌吾(@os0x) Javascript integration (3) [slideshare id=8892178&w=425&h=355&sc=no] View more presentations from cookpadtech Ustreamはこちらから

    資料を公開しました(食べログ×クックパッド合同勉強会) - クックパッド開発者ブログ
  • テキストボックスの残り入力文字数をシンプルに表示するjQueryプラグイン m5simpleTextCount :: 5509

    テキスト入力エリアなどの残り入力文字数をシンプルに表示するjQueryプラグインです。使い方も簡単で、指定要素に入力文字数と一緒に実行するだけです。 動作サンプル 必要なファイルを読み込む jQueryとm5simpleTextCount.jsを読み込みます。 任意の要素に対して実行する 任意のinput, textareaに対して実行します。 HTML JS jQuery(function($) { $('.simpleTextCount').simpleTextCount({ maxLength: 12 }); }); ちなみにm5simpleTextCountを実行したinput要素はpaddingRight、textarea要素はpaddingRight, paddingBottomに適当な数値を当てたほうがいいと思いますよ!(そこは手動やねんで・・・ オプション オプションを指定

  • Ajaxやタブ切替には必須かも?ブラウザの「戻る」「進む」を有効にするjQueryのhashchangeプラグイン :: 5509

    Ajaxやタブ切替には必須かも?ブラウザの「戻る」「進む」を有効にするjQueryのhashchangeプラグイン Ajaxやタブクリックなどのイベントでもブラウザの「戻る」「進む」を有効にすることができるjQueryのhashchange eventというプラグインを紹介します。同じような効果を得られるスクリプトより断然使いやすいのでおすすめです。 使い方はとても簡単で windowにhashchangeイベントをbindするだけです。 $(window) .hashchange(function() { Hoge(location.hash.replace('#', '')); }); // ハッシュフラグメントが変わったときにHoge()を実行する $(window).hashchange(); // Windowロード時に実行できる Ben Alman » jQuery hashc

  • 入力最大値に達したら自動で次の要素に移動させられるjQueryプラグイン「Autotabindex」:phpspot開発日誌

    入力最大値に達したら自動で次の要素に移動させられるjQueryプラグイン「Autotabindex」 2010年05月24日- Autotabindex Example 入力最大値に達したら自動で次の要素に移動させられるjQueryプラグイン「Autotabindex」。 例えば、携帯番号を入力する場合など、一定の文字数以上になった場合に、TABキーを押すなどせずとも、次のフィールドにカーソルを合わせることができます。 TABキーを知らないライトユーザーな方々はマウスでいちいち移動していたりもしますが、このプラグインでユーザビリティを上げられそうです。 JavaScript で1から実装するとなると、少し面倒な上に、要素ごとにonkeydownを入れたりしてコードが汚くなったりしますが、jQueryプラグインなので1行で次のように初期化できます。 $(document).ready(fun

  • パスワードのマスキングを任意で切り替える | Accessible & Usable

    公開日 : 2010年3月17日 (2015年12月8日 更新) カテゴリー : ユーザビリティ 先のコラム記事「パスワードは隠すべきか?」で、Jacob Nielsen(ヤコブ・ニールセン)氏の「Alertbox」の記事(Stop Password Masking)を引き合いに出し、現時点での私の意見として「多少の不便はあっても、今の慣例どおりデフォルトではパスワードを非表示にしておいて、ユーザーが任意でパスワードの表示/非表示を選択できる機能を付加するのが良いのではないか」ということを述べました。 そこで今回は、実際に挙動を体感いただけるデモを用意しました。アクセシビリティの担保 (キーボード操作、スクリーンリーダーでの音声読み上げ、配色、など) を含め、ご参考になれば幸いです。 デモを見る

    パスワードのマスキングを任意で切り替える | Accessible & Usable
    pmakino
    pmakino 2010/03/20
    「チェックボックスおよびそのラベル「パスワードを隠さず表示」のコードは、JavaScriptファイルの中に記述されています。JavaScriptが無効な環境の場合、チェックボックスは表示されません。」
  • [JS]フォームのエラー判定を行い、アドバイスを表示するスクリプト -Ketchup

    カスタマイズ性に優れた、フォームのエラー箇所にツールチップをふわりとアニメーションで表示するスクリプトを紹介します。 Ketchup Ketchupは既存のフォームにも簡単に導入が可能で、マークアップの変更やツールチップのデザイン変更も簡単に行えます。 また、エラー判定も多彩な項目で設定が可能です。 入力の有無 最大・最小文字数 最大・最小数値 メールアドレスのチェック urlのチェック 日付のチェック ユーザーネーム(a-z0-9_-)のチェック など これらの判定は組み合わせて使用することも可能です。 設置方法は、スクリプトとスタイルシートを外部ファイルとして記述し、各フィールドに下記のように追加します。 HTML(変更前)

  • ywcafe.net

    ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Trademark Free Review our Privacy Policy Service Agreement Legal Notice

  • ブラウザが落ちてもフォーム内容が消えないようにするjQueryプラグイン「jQuery autosave」:phpspot開発日誌

    ブラウザが落ちてもフォーム内容が消えないようにするjQueryプラグイン「jQuery autosave」 2010年01月19日- rikrikrik.com - jQuery autosave plug-in ブラウザが落ちてもフォーム内容が消えないようにするjQueryプラグイン「jQuery autosave」。 データを編集中にフォームに書き込んでいて、ブログ記事などが消えたりするとても悲しい気持ちになりますが、このプラグインを使えばデータをブラウザのクッキーに保存してくれて、次にアクセスした時にリストアできるという素晴らしいプラグインです。 クッキー保存のため、サーバに保存する必要はないですし、手軽に使うことができそうです(ブラウザごとにクッキーに依存した文字数制限などは存在すると思います) こういうことを1からやろうとすると結構大変ですが、毎度のことながら、jQueryプラグ

  • プロトタイプ:AJAXで改良するフォーム入力

    ここのところ、Google App Engine上でアプリを作っている私だが、iPhoneアプリとかを作り慣れている私としては、単純なHTMLページの組み合わせでUIを作るというのでは面白くない。そこで、サーバーがModel、クライアントがViewとControllerというアーキテクチャととことん追求してサービスを作っているのだが、そのためにはさまざまなUI部品を作らなければならず、そこにやたらと時間がかかっている。 始めた当初は、「今はオープンソースの時代だからUI部品もオープンなものを集めてくれば済む」と軽く思っていたのだが、実際に使おうとすると不必要に複雑だったり、汎用化されすぎていたりしてそのままでは使えないものが大半。結局のところ、そのまま使える品質のJavaScriptライブラリはjQueryのみで、それ以外は、(1)オープンなものを元にシンプルなものを作り直す、(2)スクラ

    pmakino
    pmakino 2010/01/10
    初期値は INPUT 要素の value に入れた方がストレートではないかと思う。あとどうでもいいけどこれ Ajax じゃないよね。
  • にせリンク - 旧燈明日記

    アンカー(A要素)で引数を記述すると、ブラウザのアドレス欄に引数が丸見えになりますね。 そんな時は、以下のようにフォームとJavaScriptを使い、にせリンクで対応すれば、hiddenで渡せるので、少しセキュリティが上がります。 ポイントは、HTTPメソッド(form要素のmethod属性)を『POST』にします。ここを『GET』にするとA要素と同じになってしまいます。 <html> <head> <title>サンプル</title> <script type="text/javascript"> function LinkLike(fm, target) { if (target != '') { document.forms[fm].target = target; } document.forms[fm].submit(); } </script> </head> <body>

    にせリンク - 旧燈明日記
  • 第10回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 | gihyo.jp

    もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き) 第10回今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 バリデーションをプラグインを使わずに実装する フォームは主にコンバージョンに直結する場合が多いと思いますので、ユーザビリティを向上させる、つまりユーザーに最後まで入力してもらえるようなフォーム作りはとても重要です。 どのような機能を持って使いやすくするのか、にはそのサイト自体のターゲットユーザー層を認識した上で盛り込む必要がありますが、どんな方法で使いやすくできるのかは知っておいて損はありません。 前回は、ラベル要素を利用して、直感的に分かりやすくする方法を紹介しましたが、今回・次回にかけては少し突っ込んでJavaScriptで行うバリデーション(※1)を実装してみたいと思います。 入力された文字列をチェックす

    第10回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 | gihyo.jp
  • jQueryでバリデーション付きメールフォームを作ろう (1/3)

    今回はjQueryを使って、「問い合わせフォーム」にバリデーション(検証)機能を付ける方法を解説します。入力漏れや入力ミスがないか、サーバーへ送信する前に、クライアント側であらかじめ簡易的な検証を済ませることで、フォームのユーザビリティを高められます。今回のサンプルでは特に、入力漏れやミスのあった項目を分かりやすくユーザーに示すように工夫しています。 バリデーションルールをclass属性で設定 「問い合わせフォーム」のサンプルとして、以下のようなWebページを作成します。バリデーション機能としては、必須項目の「お名前」「性別」「どこでこのサイトを知りましたか?」「お問い合わせ内容」が入力されているか、「郵便番号」が数値で入力されているか、「メールアドレス」がメールアドレスの書式になっているか、「メールアドレス」と「メールアドレス(確認)」に入力されたテキストが同じか――をチェックします。

    jQueryでバリデーション付きメールフォームを作ろう (1/3)
  • テーブルのユーザビリティを飛躍的に向上させる「Chromatable」:phpspot開発日誌

    テーブルのユーザビリティを飛躍的に向上させる「Chromatable」。 Chromatableはテーブルのヘッダーを固定させ、テーブルの要素にスクロールバーを付けることができるjQueryプラグインです。 普通のテーブル Chromatableで初期化 次のようにスクロールしてもヘッダー位置はそのままで非常に分かりやすい。 実装方法 実装方法も超簡単で、JSコード自体はたったの1行で実装可能。 <!-- ライブラリ読込み --> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="jquery.chromatable.js"></script> <!-- 初期化方法1 --> <script> $(document).ready(functio