ぶろろぐ
気になったことを書き綴る。

フォーム入力用のWYSIWYG

3月 24th 2009 in Technical SIDE

jWYSIWYG
http://projects.bundleweb.com.ar/jWYSIWYG/

jQueryを用いた、軽量なWYSIWYG。
ちょこっと使用したい場合などに最適。
入力内容の保存タイミングに、少しだけ難があるので、メソッドを追加してコントロールすると吉。

以下170行目あたりに追加してみた。

        save : function()
        {
            var self = $.data(this, 'wysiwyg');
                var content = self.getContent();
                self.setContent(content);
                self.saveContent();
        },

        reset : function()
        {
            var self = $.data(this, 'wysiwyg');
                self.setContent( $(self.original).val() );
                self.saveContent();
        },

resetの方は、自分でJSで送った内容を反映させるためのコード。

汚いけど、実際使うとこんな感じ。

(管理画面でアップロード済みの任意のリンク付き画像をWYSIWYGで入力したかったのでやってみた。)

	$(function(){
		$("a.appImg").click(function(ev) {
			$('#wysiwyg').wysiwyg('save');
			addSrc = $(this).attr('href');
			addThumb = $(this).attr('rel');
			addTags = '<a href="' + addSrc + '" rel="' + addThumb + '" class="クラス名"><img src="' + addThumb + '" border="0" /></a>';
			tmpTxt = $('#wysiwyg').val() + addTags;
			$('#wysiwyg').val(tmpTxt);
			$('#wysiwyg').wysiwyg('reset');
			return false;
		});
	});

WYSIWYGエリアに任意のCSSを反映させるには、

	$(function(){
		$('#wysiwyg').wysiwyg({ css : 'CSSファイル' });
	});

でOK。

いつもこの手のJSベースのWYSIWYG使って思うんだけど、IEのURLとかの自動補完を何とかしてほしい・・・。仕様と言えば仕様なんだけど、勝手に変わっていて涙目になる。

なので登録するときは、リンクや画像も絶対パスになっちゃうよね・・・。

""とかが勝手に外れるのもいただけないな。


Trackback URL



required



required - won't be displayed


Your Comment:

tablesorter http://tablesorter.com/docs/ jQueryのプラグインで、テーブルのソートや色づけなどを簡単に行えるようにするプラグイン。 数値がカンマ区切りされていた際に、数値として指定しても、ソートがカンマまでの値で計算されてしまうため、プチ改造。 jquery.tablesorter.js(2.0.3)の660行目 var i = parseFloat(s.replace(/,/g,”)); と変更。 あと、ほかの通貨やら±やら、そのあたりの対応のため、正規表現の修正も必要になるはずだけど、そっちはあとでやる。

Previous Entry

imagefilter http://www.php.net/imagefilter PHP5以上だと、画像をグレイスケールやらいろいろいじれる、便利なimagefilter関数(GD必須)が使えます。 その中に、画像をモザイク化してくれる、IMG_FILTER_PIXELATEモードが存在し、いろいろやっても、どうにも動かない。って状態になりました。 バージョン的には、PHP5って書いてあるし、動くはずだよな~。しかし表示されるエラーは、 Warning: imagefilter() expects parameter 2 to be long, string given in /hogehoge/mosaic.php on line xxx そんなのねえYOってPHPからのエラーメッセージで、いろいろ調べていたら、こんなのにぶち当たりました。 定義済み定数 http://php.plus-server.net/image.constants.html IMG_FILTER_PIXELATE magefilter()関数で使用する特別な GD フィルタ (PHP 5.3.0 以降で使用可能)。 ・・・そりゃ、PHP5.2系じゃ動かないよね・・・orz imagefilterの説明にも書いておいてほしかったな・・・。PHP5.3.0以降だよって・・・。

Next Entry

カテゴリー