[jQuery]一度発行したajaxリクエストを途中で中断する方法
jQueryでサーバからデータを取得する際、ajaxで問合せを行うと非同期処理となる為、ユーザビリティが向上します。 ですが、データの問い合わせによっては、サーバ側で非常に時間が掛かる場合もあります。 この際に一旦行った問い合わせをキャンセルする場合は、どうしたらよいでしょうか? 一旦行ったリクエストをキャンセルする場合は、$.ajax()で取得したオブジェクトに対して、abort()をコールするとリクエストのキャンセルが可能です。 サンプル: var req; // 検索を行う $( "btnSearch" ).click( func…
続きを読む
[jQuery]formのselect要素を操作する方法まとめ
jQueryを使用して、formのselect要素を操作する方法のまとめです。 例は、以下のselect要素があった場合で記述しています。 <select id="selTest" size="6" multiple> <option value="key1">value1</option> <option value="key2">value2</option> <option value="key3">value3<…
続きを読む
[jQuery]セレクタで指定したノードの存在チェックを行う関数
jQueryでは指定したノードが存在するかを存在するチェック関数が有りません。 幸い、jQueryではjQuery.fnにメソッドを追加することで、期待するような処理を行うことが出来ます。 jQuery.fn.exists = function(){return this.length>0;}jQuery.fn.exists = function(){return this.length>0;} 呼び出し側は、以下のような感じになります。 if ($(selector).exists()) …
続きを読む
[JavaScript]ハッシュに登録したデータの削除方法
例えば、以下のハッシュがあった場合に var dataList = {"key1":"value1", "key2":"values" };var dataList = {"key1":"value1", "key2":"values" }; key1は、こうやって削除できます。 delete dataList.key1;delete dataList.key1; 削除キーが動的に決まる場合は、”[]&#…
続きを読む
Node.jsを始める上でチェックしておきたい資料:21+α
全て海外のリソースです。 Tutorials Node.js guide Node tuts Videos Introduction to Node.js with Ryan Dahl Node.js: Asynchronous Purity Leads to Faster Development Parallel Programming with Node.js Server-side JavaScript with Node, Connect & Express Books The Node Beginner Book Mastering Node.js Up and Runnin…
続きを読む
[JavaScript]数値を,N進数の文字列に変換する簡単な方法
NumberのtoString()の引数として、基数を指定するとN進数の文字列に変換できます。 例えばtoString(2)で、2進数の文字列に変換できます。 var x = 5; x.toString(2) // "101" (10).toString(8); // "12" (255).toString(16); // "ff"var x = 5; x.toString(2) // "101" (10).toStrin…
続きを読む
[JavaScript]rubyの「times」メソッドをJavaScriptで実装する。
プログラム言語のrubでは、数値クラスに対してtimesというメソッドが実装されてます。 この為、以下のプログラムで”0,1,2,3,4,5″の文字を出力することが出来ます。 5.times { |i| puts "#{i}" }5.times { |i| puts "#{i}" } これと同様のことをJavaScriptで行いたい場合は、以下の関数定義を行います。 Number.prototype.times = function( funct ) { if( typeof …
続きを読む
[JavaScript]”010″が10として評価さず、8になってしまう。
JavaScriptで先頭0から始まる数字は8進数とみなされるからです。 例えば以下のコードは、8が表示されます。 <script> var value = parseInt( ‘010’ ); alert( value ); </script><script> var value = parseInt( ‘010’ ); alert( value ); </script> 先頭に0が入ると8進数とみなされる仕様は、JavaScript以外にC言語も同様です。 “0x”が入ると16進数とみな…
続きを読む
[JavaScript]本番環境時、存在しないconsole.log()でエラーを出さない方法
firefox+firebugを使用して、javascript開発を行う際console.log()関数を使用すると、 デバッグログをコンソールに出力できるので便利です。 とても便利なconsole.log()ですが、リリース時に該当処理を削除し忘れると、コンソールの無い環境では当然エラーが出てしまいます。 このような場合は、以下のコードを入れておくと、エラーを回避できます。 if (typeof(’console’) == ‘undefined’) { console = { log: function(){…
続きを読む
JavaScriptとC言語のスコープの違い
C言語では、ブロック内のみ有効なスコープというものが存在します。 例えば、下記のコードで、”a = 20″はブロック内のみで有効なので、”a=10″と表示されます。 int a = 10; { int a = 20; } printf( "a=%d", a ); // a=10が表示される。int a = 10; { int a = 20; } printf( "a=%d", a ); // a=10が表示される。 一方でJavaScriptでは、ブロック単位でのスコープ…
続きを読む
[JavaScript]変数の引数を可変個にする方法
JavaScriptで可変引数に対応するには、arguments[i]を使用します。 プログラム <script> function sum() { var retval = 0; for (var i = 0, len = arguments.length; i < len; ++i) { retval += arguments[i]; } return retval; } alert( sum(1, 2, 3) ); // 6…
続きを読む
[jQuery]新しいノードを追加するときに、タグの属性も同時に指定する方法
jQueryでは、$( “<a />” )という表記で新しいDOMノードを作ることが出来ます。 上記の例では、アンカータグを生成します。 この際、第二引数にハッシュを指定することで、属性(attribute)も同時に指定可能です。 例: var newLink = $( "<a />", { href: "http://www.yahoo.co.jp/", title: "yahoo", }); newLink.text( "yahooホー…
続きを読む
[jQuery]指定したノードが存在するときのみ処理を行う
jQueryでは、$( “#btnShow” )といった形式で、特定のDOMノードを指定可能です。 このとき指定したノードが存在するときのみ処理を行う方法です。 プログラム <input id="btnShow" type="button" value="表示" /> <div id="someDiv"/>message area</div> <script> $( function() { $&…
続きを読む
[jQuery] jQueryのプロパティ「$.expr」を使用して、独自のセレクタを実装する
jQueryでは、:first、:lastや:animatedなどのセレクタでDOMのノードを指定することが出来ます。 では、jQueryに標準で用意されていないセレクタが欲しくなった場合はどうすればよいでしょうか? このような場合は、$.expr[‘:’]に対して、関数を定義することでセレクタを追加することが可能です。 下記の例では、幅が100pxを超える要素のみを抽出するセレクタ”over100pixels”を定義しています。 <script> $.extend($.expr[’:’], { ov…
続きを読む
[JavaScript]ハッシュのキー存在チェック関数
JavaScriptで、ハッシュ(連想配列)に指定したキーが存在するかどうかのチェック関数です。 通常の関数として使用する場合と、Arrayクラス自体に関数を追加するパターンを用意したので、お好みの方を使用してください。 プログラム //————————————————————- // ハッシュのキー存在チェック(通常の関数として実装する場合) //————————————————————- function array_key_exi…
続きを読む
[jQuery]iframeを動的に追加して,googlemapを表示させる
htmlの中でjQueryを使用して動的にiframeをappendするサンプルです。 例では、入力された住所を元にgooglemapを表示しています。 ソース: <input type="text" id="txtAddress" value="東京都千代田区丸の内一丁目" size="30" /> <input type="button" id="btnTest" value="iframe追加"/> <div style…
続きを読む
lolipopで、PHPとPDOを使用してDBに接続する
前回、PHP-MySQLを使用したプログラムで失敗したので、今回はPDOを使用してDBにアクセスします。 前回の失敗記事 -> lolipopで、PHPとPDOを使用してDBに接続する 今回使用するPDOライブラリですがですが、以下の特長を持っています。 PHP5以降の環境で標準インストールされているパッケージ 比較的速い(各DBネイティブのAPI程ではないが) MySQLに限らず、接続するDBに依存しないインターフェース(関数) というわけで、いきなりプログラムです。 <?php $ermsg = ""; //—————————-…
続きを読む
lolipopで、PHP-MySQLを使用してDBに接続する
lolipopでPHP-MySQLを使用した、動作確認用のプログラムを作ってみた。 INFORMATION_SCHEMA.tablesの中身をダンプしてます。 <?php //————————————————— // DBに接続する //————————————————— function getConnection() { $server = "mysqlxxx.phy.lolipop.jp"; // 実際…
続きを読む
[JavaScript]windowオブジェクトが保持しているプロパティ一覧を列挙する
ブラウザで動作するJavaScriptでは、windowというグローバル変数が有ります。 この変数は文字通りブラウザのウィンドウを意味する変数です。 window変数がどんなプロパティを持っているか気になったので、確認するスクリプトを作ってみました。 <input id="btnInput" type="button" value="表示" /> < pre id="result"></pre > <script type="text/javascr…
続きを読む
[PHP] DOMDocument#loadHTML()で、特定の文字が含まれていると正しいDOMを作ってくれない
DOMDocument#loadHTML()の出力がおかしい PHPで、DOMDocument#loadHTML()を使用すると、HTMLのテキストからDomのツリーを作成することが出来ます。 とあるファイルを、loadHTML()したのですが、なぜか正しくツリーが作られないことがありました。 しかも、まったく作られない訳ではなく途中で途切れてしまう。 中身を調べてみると、”㈱”(かっこかぶ:機種依存文字)や、”鎌”の文字が出てきたところで解析が打ち切られています。”かっこかぶ”は明らかにヤバそうですが、”鎌&…
続きを読む
カテゴリ
"プログラム"のRSS