MW211 EXIT

devlog
jQuery/チェックボックスがチェックされているか
2011年11月24日
「id="abc"」のチェックボックスがチェックされている場合に「true」、
チェックされていない場合に「false」を取得したい場合は、以下のいずれかで。

まずは、以下が推奨。
┌──────────────────────────────────────┐
│$('#abc').prop('checked')                                                   │
└──────────────────────────────────────┘
他にもいろいろある。
┌──────────────────────────────────────┐
│$('#abc').is(':checked')                                                    │
├──────────────────────────────────────┤
│$('#abc:checked')[0]                          ($('#abc:checked').length > 0)│
├──────────────────────────────────────┤
│$(':checkbox#abc:checked')[0]        ($(':checkbox#abc:checked').length > 0)│
├──────────────────────────────────────┤
│$('#abc').attr('checked')                           ※attrとpropの違いに注意│
├──────────────────────────────────────┤
│$('#abc').get(0).checked                                                    │
└──────────────────────────────────────┘
分類:jQuery
JavaScript/小数点以下桁数チェック
2011年11月23日
JavaScriptの場合は、こう。
┌──────────────────────────────────────┐
│var decimal = 値.split(".");                                                │
│var 桁数 = (decimal[1]) ? array[1].length : 0;                              │
└──────────────────────────────────────┘
分類:JavaScript
PHP/小数点以下桁数チェック
2011年11月22日
┌──────────────────────────────────────┐
│$decimal = explode('.', $値);                                               │
│$桁数 = isset($decimal[1]) ? strlen($decimal[1]) : 0;                       │
└──────────────────────────────────────┘
「123.456」の場合、小数点以下桁数「3」桁と判定できる。
分類:PHP
PHP/乱数
2011年11月21日
「0~9」の範囲で、整数の乱数を発生させたい場合
┌──────────────────────────────────────┐
│rand(0, 9)                                                                  │
├──────────────────────────────────────┤
│mt_rand(0, 9)                                                               │
├──────────────────────────────────────┤
│floor(lcg_value() * 10)                                                     │
└──────────────────────────────────────┘
昔は乱数の種を設定しないといつも同じ結果となっていたので
「rand()」では「srand()」を、「mt_rand()」では「mt_srand()」を
事前に実行する必要があったみたいだが、今は自動でやってくれるので必要ないみたい。
#「lcg_value()」は元々そういうのは不要

で、「rand()」と「mt_rand()」の違いだが、「mt_rand()」の方がよりよいらしい。
具体的には高速みたい。
「mt_rand()」を使うのがおすすめみたい。
分類:PHP
PHP/配列のランダムな並び替え
2011年11月20日
┌──────────────────────────────────────┐
│shuffle($配列);                                                             │
└──────────────────────────────────────┘
配列から適当に値を取得する場合、添字を乱数で作成する方法もあるが、
「shuffle()」で適当に並び替えて、「$配列[0]」と先頭を取得する方法もある。

こっちだと、乱数で作成する添字の範囲(つまり配列が何件あるか)とか
気にしなくてよく、シンプルにできる。

ただし、並び替えた配列の添字(キー)は新たに割り当てられるので
元の姿をとどめないものだと思って使うべきだ。
(元の姿なんか関係ない場合にはかなり有効)

元の姿をとどめたい場合には、一旦ダミー配列にコピーしてから、
そっちを並び替えればよい。
┌──────────────────────────────────────┐
│$ダミー配列 = 配列;                                                         │
│shuffle($ダミー配列);                                                       │
└──────────────────────────────────────┘
分類:PHP配列
ブラウザのリロード
2011年11月19日
なんだか、あいまいなので整理。

以下は同じ。(ただし、IEのみで確認)
  ・ブラウザ上のリロードボタン(を押す)
  ・「f5」
  ・「ctrl」+「r」

キャッシュをクリアしたい場合は以下
  ・「ctrl」+「f5」
分類:ブラウザ
JavaScript/値の確認
2011年11月18日
「abc」という変数があって、処理中の値を知りたい場合、
そこにalert()文を入れてダイアログ出力して確認するというのは常套手段だ。
┌──────────────────────────────────────┐
│alert(abc);                                                                 │
└──────────────────────────────────────┘
上記みたいな感じ。(BASICのPRINT文みたいなもんだ)

でも、そのダイアログの内容をエディタで編集したいと思っても、
ダイアログ内容のコピー&ペーストができない。

そこで、代替案。
クリップボードへ出力するのだ。
┌──────────────────────────────────────┐
│clipboardData.setData("Text", abc);                                         │
└──────────────────────────────────────┘
こんな感じ。

実行した場合、IEだと
「このWebページがクリップボードへアクセスすることを許可します?」みたいな
警告文を一応表示して許可を求めてくるので、「アクセスを許可する」を選ぶ。

これで、クリップボードへ格納されたので、メモ帳とかを開き
「貼り付け」(ctrl+v)をすれば、値を取得できる。

IE以外のブラウザについては、
やったことがなくどんな挙動になるかは知らないのであしからず。
分類:JavaScript
PHP/URLエンコード
2011年11月17日
まずは、基本から。
┌──────────────────────────────────────┐
│エンコードされた値 = urlencode(元の値);                                     │
├──────────────────────────────────────┤
│元の値 = urldecode(エンコードされた値);                                     │
└──────────────────────────────────────┘

で、実用編。
GETパラメータで日本語を扱いたい場合、
例えば年号をそのままパラメータとしたい場合、以下のような感じになる。
┌──────────────────────────────────────┐
│http://….php?nengo=平成                                                    │
└──────────────────────────────────────┘

これくらいなら問題ないけど、記号とか絡んでくるとややこしいので、
┌──────────────────────────────────────┐
│「%E5%B9%B3%E6%88%90」 ← urlencode('平成')                                 │
└──────────────────────────────────────┘
上記のようか感じでエンコードして、それで渡してあげる。
┌──────────────────────────────────────┐
│http://….php?nengo=%E5%B9%B3%E6%88%90                                      │
└──────────────────────────────────────┘
んでもって、受け取る側でデコードして元に戻して受け取るという感じ。
┌──────────────────────────────────────┐
│「平成」 ← urldecode($_GET['nengo])                                        │
└──────────────────────────────────────┘
これは文字コード「UTF-8」の場合の例です。

送り側も、受け側も同じ文字コードであれば問題ないけど
もし、違う文字コードの場合は文字コード変換とか絡んでくるのだろう。
分類:PHP
PHP/配列の並び順が意図した通りかの判定
2011年11月16日
値がしっかりと昇順になっているものと、なっていないものがあった場合
これを判定したいとする。

例えば以下の二つの配列のうち、$bは不正だとはじきたい場合などだ。
┌──────────────────────────────────────┐
│$a = array(0=>0, 1=>1, 2=>2);                                               │
│$b = array(0=>0, 1=>2, 2=>1);                                               │
└──────────────────────────────────────┘

一旦、ダミーをつくりそれを「arsort()」で昇順ソートする。
┌──────────────────────────────────────┐
│$a_dummy = $a;                                                              │
│arsort($a_dummy);                                                           │
└──────────────────────────────────────┘
んでもって、元の配列と比較して、差分がなければ(変化がなければ)
昇順だったってことになる

しかし、ここで注意しなければならないのは「array_diff()」を使わないこと
┌──────────────────────────────────────┐
│if (array_diff($a, $a_dummy)) {                                             │
│  echo '昇順でない';                                                        │
│}                                                                           │
└──────────────────────────────────────┘
この関数は並び順度外視で、要素の比較だけに専念するので
差分なしと判定されてしまう。

正しくは「!==」で厳密に比較してあげればよい。
┌──────────────────────────────────────┐
│if ($a !== $a_dummy) {                                                      │
│  echo '昇順でない';                                                        │
│}                                                                           │
└──────────────────────────────────────┘
これなら並び順が違うだけでも、検出してくれる。

なお、降順で判定したい場合は、「asort()」を「arsort()」にすればいい。
分類:PHP配列
jQuery/入力チェック入門編
2011年11月15日
jQueryがよくわからないので、初歩的なところから外堀を埋めてみようと思う。

まずは、以下みたいな入力欄があって、それを全部チェックしたい場合(の基礎)。
┌──────────────────────────────────────┐
│<input type="text" name="xxxx1" value=""/>                                  │
│<input type="text" name="xxxx2" value=""/>                                  │
│<input type="text" name="xxxx3" value=""/>                                  │
│<input type="text" name="xxxx[]" value=""/>                                 │
│<input type="text" name="xxxx[]" value=""/>                                 │
│<input type="text" name="xxxx[]" value=""/>                                 │
└──────────────────────────────────────┘

チェック内容はその場に応じてなので、alert()で値をダイアログ表示する方法を。
┌──────────────────────────────────────┐
│$("input[type=text][name^=xxxx]").each(function() {                         │
│  alert($(this).val());                                                     │
│});                                                                         │
└──────────────────────────────────────┘
「$(this).val()」(=値)の内容をチェックするばよい。

ちなみに「.val()」を使わずに「.value」を使いたい場合には
「$(this).value」ではなく、「$(this)[0].value」だから注意。
分類:jQuery
前へ 1 … 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 … 156 次へ