javascriptの注意点
2014/07/03
javascriptにてチェックボックスのチェック状況をチェックを
ループでまわして確認した際、チェックボックス自体が1個だけの
場合はundefinedになる場合がある。
function delete_check(){
chkvalue = "";
for(i=0 ; i<document.form.mailCode.length ; i++){
if(document.form.mailCode[i].checked){
chkvalue += "\n\t" + document.form.mailCode[i].value;
}
}
if(chkvalue == ''){
alert('選択されていません。');
}else{
if(confirm('削除してよろしいですか?')){
document.form.submit();
}else{
return false;
}
}
}
jQueryで確認していくことで直った。
あとグローバル変数とローカル変数について、ちゃんと理解して
いなかったのでメモ。
■ローカル変数
関数内でvarで宣言したらローカル変数。
また、関数内でfunctionを作ったらそれはローカル関数。
関数内でのみ有効になる。
メモリリーク防止になる。
■グローバル関数
関数の外でvar宣言をする。
もしくはvarをつけずに変数宣言を行う。
どこでも使えるので便利。ただ、よそで使うことが無ければ
余計にメモリを食うだけ。
尚、何でかわからないけどIE8のみエラーが発生する、
というケースにあたり、調べたところIE8以下は対応していない
イベントハンドラだった(addEventListener)。
javascriptに限ったことでもブラウザに限ったことでもないが、
こういったケースもあるということを認識しておく。
関連記事
-
javascriptの文末
下記みたいなコードがあって、文末に「;」が 無いのになんで動くのこれ? となった ...
-
JavaScriptでdisplay:none/blockの切り替え
jQueryだとhide/show使うか、もしくは toggleだけでいいけどJ ...
-
jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について
日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、普通のセレクトメ ...
-
AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...
-
javascriptのtry文
javascriptとかjQueryを使ってて、Firefox,chromeはい ...