ラベル

blogger (2) C/C++ (23) CSS (1) DB (4) EXCEL (2) HTML (2) iphone (1) JavaScript (8) JScript (10) Lua (14) Objective-C (1) photoshop (1) PHP (10) Smarty (1) sqlite iphone (1) Tips (24) UML (1) VC++ (2) WSH (8) Xcode (2) コミュニケーション (2) コンパイルエラー (7) デザインパターン (4) テスト (3) マネージメント (1) 開発 (11) 心理学 (12) 生活 (2) 豆知識 (1) 遊び (1)
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示

2010年6月22日火曜日

prototype.jsでresponseTextの文字コードがUTF-8になってしまう

prototype.jsに限ったことではないかもしれませんが、AJAX.request後のresponseTextの中身の文字コードをSJISで送信してもUTF-8になってしまう場合があるようです。
これを解決するには、サーバ側でhttpヘッダー情報のキャラセットを指定します。
header("Content-Type: text/html; charset=Shift-JIS");
こんな感じです。

2010年6月17日木曜日

JavaScriptでイベントハンドラを複数登録する

今日はJavaSctipで複数のイベントハンドラを登録する方法を紹介します。
JavaScriptでイベントハンドラを登録する際
  • window.onload = funcA(){};
  • window.onload = funcB(){};
このようにコードを記述した場合funcB()のみがイベントハンドラとして有効となります。
funcA()、funcBともにハンドラとして登録する方法はいくつかあるようですが、今回はprototype.jsというライブラリのEvent.observe()を使用します。
基本構文は
Event.observe(エレメント名, イベント名, イベントハンドラ,  isバブルアップしない)
です。バブルアップってなんだ?って感じですが、falseを設定すると親エレメントをさかのぼって全ての同イベントを実行します。
コード例はこんな感じです。
Event.observe(window, 'load', funcA(), false);
Event.observe(window, 'load', funcB(), false);

2010年6月16日水曜日

JavaScriptで現在のドキュメント(ページ)を更新する。

JavaScriptで現在のドキュメント更新するには、
  • Location.reload(force)
を使います。forceにtrueを設定するとキャッシュを無視して更新します。

2010年6月14日月曜日

JavaScriptでドキュメントのAnchorの位置までスクロールさせる


今日はJavaScriptアンカー(<a>タグ)の名前を指定して画面をスクロールさせる方法を紹介します。
まずはJavaScriptのコードです。
function focusAnchor() {
    var anchors = document.anchors;
    anchors['target'].focus();

    // idでアンカーを取得する場合
//    var anchor = document.getElementById('target');
//    anchor.focus();
}
特に難しい処理はありません。目的のアンカーを取得してfocus()を呼び出しているだけです。
続いてHTMLのコードです。

target
HTML側では一点注意しなければいけないことがあります。それは
  • アンカータグには必ずhref属性が必要(これがないとfocus()が反応してくれないようです)
以下サンプル
















target

2010年5月26日水曜日

引数の命名規則はアンダーバー「_」+キャメルケース

今更ですけど、メソッド(関数)の引数の命名規則はアンダーバー「_」+キャメルケースを使用しています。
キャメルケースというのは各単語や要素語の先頭の文字を大文字で表記する手法のことです。
例)camelCase、guitarSpec...
そして引数の先頭にアンダーバー「_」を付与しています。アンダーバーを付ける利点は
  • 引数であることが一目でわかる。
  • クラスのメンバ変数やメソッド内の変数と名前がかぶることが無くなるため名前を考えるのに困らない。
です。
例)_camelCase、_guitarSpec...

2010年5月16日日曜日

JavaScript(JScript)で連装配列を反復する(なめる)

今日はJavaScript(JScript)で連装配列を反復する方法を紹介します。
var array = new Array();

array["a"] = "aa";
array["b"] = "bb";

for (var key in array) {
    //  WScript.echo(array[key]);   // WSHの場合
    alert(array[key]);
}

2010年5月4日火曜日

JavaScriptで「問い合わせ内容を入力してください。」を実装する

タイトルだけだよよく分らないかもしれませんが、
  1. テキスト入力エリアにあらかじめ「問い合わせ内容を入力してください」の文言を表示しておく。
  2. テキスト入力エリアにフォーカスがあたる。
  3. 「問い合わせ内容を入力してください」の文言が消える。
これの実装方法を紹介したいと思います。
まずはJavaScriptのコードです。

つづいてHTMLのコードです。

下のテキストボックスにフォーカスがあたると「問い合わせ内容を入力してください」が消えます。


2010年4月26日月曜日

JavaScriptでテキストの入力非入力を検出する

今回はJavaScriptでフォームの入力を検出してボタンを有効/無効にするTipsです。

まずはJavaScriptのコードです。


200m秒のタイマーイベントに、ボタン有効/無効の関数input_textCheck()を登録するだけです。

無限にチェックするためにinput_textCheck()の中でタイマーイベントに自分を設定しています。

次にHTMLのコードです。

textboxのonfocusイベントハンドラにonFocusInputText()を設定しています。

↓のフォームに文字を入力すると登録ボタンが有効になり、文字が無いと無効になります。