Archives by date

You are browsing the site archives by date.

【jQuery】無の状態から特定のページに値をポストする方法。

例えばフォームタグの設置場所に困ったとき。DOMの文法的に配置するのを躊躇してしまうとき。めんどくさいとき←。

そんなときに超絶便利で素敵なポスト方法。

例えば以下のようなボタンをトリガーにしてポストを行う場合。

<button id="button">submit now</button>

jQuery側では以下のようにしてやる。

$(function(){
	$('#button').click(function(){
		// POSTしたいページを指定
		var post = './';
		var form = $('<form>', {'action':post, 'method':'POST'});
		var input1 = $('<input>', {'type':'hidden', 'name':'n1', 'value':'v1'});
		var input2 = $('<input>', {'type':'hidden', 'name':'n2', 'value':'v2'});
		var input3 = $('<input>', {'type':'hidden', 'name':'n3', 'value':'v3'});
		$('body').append($(form).append(input1).append(input2).append(input3));
		$(form).submit();
	})
})

これは何をしているのか。至って簡単。
その場でフォームを生成→bodyにアペンド→サブミット→完了。
inputタグ内のvalueは適宜jQueryで集めてきてやればよい。そして集めた分だけformタグ内にぶち込んでターゲットページにぶん投げればよいのである。

 

jQuery最強伝説。

 

【jQuery】セレクタにHTMLタグを渡すと、その要素を内部で生成してくれる。

という自分的大発見!

こいつはいったい何を言っているんだ?と言わずにまぁ落ち着いて。

例えば。

$(function(){
	var elem = $('<div>');
	$('body').append(elem);
})

2行目でやってることが、タイトルで言ったまんまの操作。jQueryのセレクタ指定部分にタグを渡している。
すると変数elemには内部的に「<div></div>」を保持していることと同等になる。
なので3行目でbodyに対してappend()を行うと、そのままbodyタグ内に上記のdiv要素がそのまま挿入されることになるのである。これは近年まれに見る世紀の大発見。

しかも第2引数にオブジェクトを渡すことでアトリビュートの設定も出来てしまうという神仕様。

$(function(){
	var elem = $('<div>', {'id':'hoge', 'class':'piyo', 'data-foo':'fuga'});
	$('body').append(elem);
})

例えば上記のようにオブジェクトを渡してやった場合、変数elemは内部的に以下のHTMLを生成してくれている。

<div id="hoge" class="piyo" data-foo="fuga"></div>

素晴らし過ぎるjQuery。これはもうやめられない。止まらない。

かっぱえb(ry

 

【PHP】正規表現自分用まとめ。

自分用メモ。

文字クラス 詳細
[qwerty] 「q,w,e,r,t,y」の何れか一文字
[^qwerty] 「q,w,e,r,t,y」以外の一文字
[0-9] 数字(0~9)一文字
[A-Z] 大文字アルファベット一文字
[a-z] 小文字アルファベット一文字
[a-zA-Z0-9] アルファベットか数字一文字
[!-~] 半角文字一文字(エクスクラメーションからチルダ記号まで)
\w アルファベット、数字、アンダースコア、何れか一文字
\W アルファベット、数字、アンダースコア、以外の一文字
\d [0-9]と等価
\D [^0-9]と等価
\s 空白一文字([\r\n\t\v\f]と等価)
\S 空白以外の一文字([^\r\n\t\v\f]と等価)
\r 改行コード
\n 改行コード
\t タブ文字
\v 垂直タブ
\f 改ページ
量指定子 詳細
* 0回以上の繰り返し
+ 1回以上の繰り返し
? 0~1回の出現
{n} n回の繰り返し
{n,m} n回以上、m回以下の繰り返し
{n,} n回以上の繰り返し
メタ文字 詳細
. 改行以外の一文字
^ 行頭
$ 行末
| 複数の文字列の何れか(例:’/a|b|c/’)
() グループ化
\ エスケープシーケンス(バックスラッシュ)
修飾子(末端のデリミタ後に付与) 詳細
i 大文字、小文字を無視
s シングルラインモード
m マルチラインモード
u マルチバイトモード(UTF-8)