1. 概要
    1. 修正箇所
  2. このスクリプトの著作権
  3. トラックバック
更新日時
2009-02-12 19:04
永続的 URI
http://www.code-404.net/articles/javascript/modify-attach-block-enter
タグ

概要

フォームの 1 行テキストフィールドにてエンターキーの押下でフォーム内容の送信を抑止する JavaScript が紹介されてました。

ついエンターキーを押し過ぎて、誤って投稿してしまう事を防げる為、フォームアイテムの最後が 1 行テキストでない場合にはユーザビリティの向上に繋がりそうです。

しかし、 prototype.js 版の紹介には、フォームアイテムの判定を行っていない為に、テキストエリア(複数行入力欄)にて改行が出来ない問題が発生します。

修正箇所

フォーカスしているフォームアイテムがテキストエリアなら、エンターキーを機能するようにします。

var attachBlockEnter = Class.create();

attachBlockEnter.prototype = {
    initialize: function(fid) {
        this.fele = $(fid);
        Event.observe(this.fele, 'keypress', this.BlockEnter.bindAsEventListener(this), false);
    },
    
    BlockEnter: function(event) {
        if (Event.element(event).type == 'textarea') return;
        if (event.keyCode == Event.KEY_RETURN) {
            Event.stop(event);
            return;
        }
    }
}

上記の強調された 1 行を加えるだけです。後は attachBlockEnter を new attachBlockEnter(formID); と呼び出すだけです。

blog.nomadscafe.jp の、かぜぶろさんに帰属します。

トラックバック

トラックバック URI
http://www.code-404.net/cms/trackback/5
関連記事
検索

情報