Javascript カタカナの入力制限

Javascript

Javascriptでカタカナの入力制限を作る方法です。

test_valueが評価したい値だとします。

 if(test_value.match(/^[ァ-ヶー]*$/)){
   
   alert("カタカナがあります。");
 
 }

Javascript オブジェクトの中身をデバッグ用に表示する

Javascript

ブラウザを限定しますが、Javascriptで、PHPのprint_rやvar_dump等のようにオブジェクトの中身を簡単に出力する方法があります。

FirebugやChromeだと、下記スクリプトでオブジェクトの中身がコンソールに出力されます。

 console.log(オブジェクト);

Firebugのconsoleには他にもいろいろな機能があり、詳しくは下記リンク先を参照してください。
http://getfirebug.com/wiki/index.php/Console_API

他のブラウザについては下記リンク先が参考になります。
http://diaspar.jp/node/92

Javascript エラー 識別子がありません

Javascript
IE

Javascript エラー 識別子がありません

FirefoxやChromeでは大丈夫なのに、IE8だけJavascriptのエラーが出る。
エラー内容は
「識別子がありません」
です。

そういう場合、予約語とぶつかっている可能性があります。
私が遭遇したのはidに”class”とつけていたケースです。
classという名前をclass2とかにしたら治りました。

Javascript onchangeの挙動がIEで違う

Javascript

Javascript onchangeの挙動がIEとFirefox,Chromeで違う

ラジオボタンやセレクトボックスにonchangeとしておいて、要素が変わったら処理をする、としていると、IE系とFirefoxやChromeで挙動が違うので、注意が必要です。
jQueryを利用して、次のようなonchangeで変わるラジオボタンを作っておくとします。

 //jQueryは先に読み込んでおいてください。
 //scriptタグなどで記述
  function update_fruit_id(theForm) {
 

var val=$(“input:radio[@name=’division_id’]:checked”).val();
if (val==2){

            alert('いちごだよ');

}else if(val==1){

            alert('めろんだよ');
 
 	  }
  }
 
 //中略 
 <input name="fruit_id" value="1" id="fruit_id" onchange="update_fruit_id(this.form);" type="radio">
 メロン
 <input name="fruit_id" value="2" id="fruit_id" onchange="update_fruit_id(this.form);" type="radio">
 いちご

としていると、IEとFirefoxでまったく違う結果になってしまいます。
これは、Firefoxではラジオボタンをクリックしたときにonchangeが発生しているようですが、IEでは違うラジオボタンをクリックしたときにonchangeが発生しているからのようです。

残念ですが、onclickで呼び出したほうが、解決が早そうです…。

Javascript foreach文

Javascript

Javascriptでも、PHPのforeach文のようなことができます。

 配列.forEach(コールバック関数)

具体例です。

 var ArrayXs=[1,2,3,4,5];
 
 function print(printx) {
 
   document.write("<br />" + printx ); 
 
 }
 			
 ArrayXs.forEach(print);