setechdiv@wiki
javascript
最終更新:
Bot(ページ名リンク)
-
view
文法
オブジェクト・属性の説明
仕様
画面の値を取得する
ひっかかり
今日の日付と何日か前の日付を比較しようと、
とやったら、なんでか小数点以下に。で、
- var hoge = (foo - bar)/86400000;
- alert hoge;
-
にしたら正常に!
引数なしの時生成される当日日付オブジェクトは、
引数ありの時と何か違うのか?
引数なしの時生成される当日日付オブジェクトは、
引数ありの時と何か違うのか?
switch([条件]){
case [a]:
[処理a];
break;
case [b]:
[処理b];
break;
case [c]:
[処理c];
break;
default:
break;
}
ポイント:
1. if文と同じはじめ方(if([条件]){[以下処理]})
2. case [場合]: で分ける
3. 一つの条件につき必ず最後にbreak;すること(この分岐を抜ける事)
4. "default"は、VBにおける"else"と同じ
1. if文と同じはじめ方(if([条件]){[以下処理]})
2. case [場合]: で分ける
3. 一つの条件につき必ず最後にbreak;すること(この分岐を抜ける事)
4. "default"は、VBにおける"else"と同じ
OR条件にしたいとき(Case 1,2のように)
switch([条件]){
case [a]:
case [b]:
[処理ab];
break;
case [c]:
[処理c];
break;
default:
break;
}
switch([条件]){
case [a]:
case [b]:
[処理ab];
break;
case [c]:
[処理c];
break;
default:
break;
}
VBとのめんどくさい違い
for文のto指定は
×「1 = 10」(になるまで)
○「1 > 11」(である間)
VBの Right, Mid, Left 等に当たる substr, charAt関数は、
×「1文字目から2文字」
○「0番目から2文字」
配列の要素番号のように、文字の先頭を0番目と数える。
for文のto指定は
×「1 = 10」(になるまで)
○「1 > 11」(である間)
VBの Right, Mid, Left 等に当たる substr, charAt関数は、
×「1文字目から2文字」
○「0番目から2文字」
配列の要素番号のように、文字の先頭を0番目と数える。
- _top - 一番上の階層
- _parent - 一つ上の階層
全てのページをindexページ内でiframeとして呼出し表示している場合など、
_topで指定するとindexと置き換わってしまうので注意。
_topで指定するとindexと置き換わってしまうので注意。
まず上の記事の"「/」で囲む"ルールを知らなかった。。。
∥例(半角/全角スペースをトリムする)∥
varX.replace(/^[ ]+|[ ]+$/,"")
varX.replace(/^[ ]+|[ ]+$/,"")
/~/ …/で挟まれた部分が正規表現
^ …後に続く文字「から始まる」という指定
[ ] …[ ]内の文字のいずれか、という指定(ここでは半角/全角スペース)
| …javascriptの演算子。Or演算子。
$ …前にある文字「で終わる」という指定
+ …直前の1文字が一個以上、という数量指定
^ …後に続く文字「から始まる」という指定
[ ] …[ ]内の文字のいずれか、という指定(ここでは半角/全角スペース)
| …javascriptの演算子。Or演算子。
$ …前にある文字「で終わる」という指定
+ …直前の1文字が一個以上、という数量指定
先頭に半角/全角スペースがある(複数も含む)、または
末尾に半角/全角スペースがある(複数も含む)とき、
""と置換える
末尾に半角/全角スペースがある(複数も含む)とき、
""と置換える
ハッシュテーブルのようにKeyに対するItemを持つことができる要素
http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh19/cformwsh19_01.html
http://msdn.microsoft.com/ja-jp/library/cc364272.aspx
http://msdn.microsoft.com/ja-jp/library/cc364272.aspx
var obj = {hoge:'huga'};
この場合、
hogeがキー(プロパティというらしい)で、
'huga'がhogeにつく値、という感じ。
ハッシュテーブルと同じ感覚とみた。
でも、キーをいくらでも増やせるので、構造体配列っぽくもあるかもしれない・・・
hogeがキー(プロパティというらしい)で、
'huga'がhogeにつく値、という感じ。
ハッシュテーブルと同じ感覚とみた。
でも、キーをいくらでも増やせるので、構造体配列っぽくもあるかもしれない・・・
ちなみに、
アマゾンとかであるような「上位リストを選択したら下位リストに絞込がかかる」連動リストは、
以下のような関数で実現可能。
アマゾンとかであるような「上位リストを選択したら下位リストに絞込がかかる」連動リストは、
以下のような関数で実現可能。
「既にある配列targetから特定のキーを持つものを抽出して新規に配列を作る」
用意するもの:
- 全項目入りの配列 target
- 絞り込む項目名 key
- 絞込のキーワード value
function find(target, key, value) {
var ret = new Array();
for(var index in target) {
var item = target[index];
if(item[key] == value) {
ret.push(item);
}
}
return ret;
}
javascriptでオブジェクトのreadonly属性を変更するときは、
readOnly
と、Oを大文字で書かないといけないらしい・・・
readOnly
と、Oを大文字で書かないといけないらしい・・・
- なんで?
なぞすぎる。disabledは全部小文字でいけるのによォ~ッ!
あ、input要素のdisabledをtrueにしちゃっていたら、
値をForm送信できないようだ。。
同じ内容のhidden項目を持っておくか、送信直前にdisabled解除するかしかなさそう。
値をForm送信できないようだ。。
同じ内容のhidden項目を持っておくか、送信直前にdisabled解除するかしかなさそう。
子フレーム同士…documentの前にparent.フレーム名をつける
Parent.フレーム名.document.getElementById('[ID]');
Parent.フレーム名.document.getElementById('[ID]');
色々といっても…2こ!
| コード | 表示名称 |
でリストボックスを持っている場合、
リストボックス.value でコードが、
リストボックス.options[リストボックス.selectedIndex].text で表示中の文字列が取得出来ちゃう!
リストボックス.value でコードが、
リストボックス.options[リストボックス.selectedIndex].text で表示中の文字列が取得出来ちゃう!
var hoge = document.getElementsByName("huga");
for(var i=0;i<hoge.length;i++) {
if (hoge[i].value == '0') {
//...
}
}
問題:
リンククリックで、遷移ではなく動作(行追加、アイテム削除など)したいとき、
リンククリックで、遷移ではなく動作(行追加、アイテム削除など)したいとき、
<a href="javascript:void(0)" onclick="javascript:funcExe();">
て書くと、IE6でだけは、動かない。
原因:(先輩伝授)
javascript:void(0)は、それ自体がhref属性の動きを制御するおまじないではなく、
ただのURLダミーみたいなもん。
だから、onClickで明示的にreturn false を記述しておかないと、href が動作してしまう。
で、動作した場合、「void(0)ってなんじゃ」となって落ちる(私の推測)。
javascript:void(0)は、それ自体がhref属性の動きを制御するおまじないではなく、
ただのURLダミーみたいなもん。
だから、onClickで明示的にreturn false を記述しておかないと、href が動作してしまう。
で、動作した場合、「void(0)ってなんじゃ」となって落ちる(私の推測)。
対策:
form の onsubmit でチェック関数を呼び出して、
関数内でチェックエラーとなったときreturn false してsubmitを回避する、という処理があるが、
あれと同じように、return false してhrefを回避する必要がある。っぽいのだ!
form の onsubmit でチェック関数を呼び出して、
関数内でチェックエラーとなったときreturn false してsubmitを回避する、という処理があるが、
あれと同じように、return false してhrefを回避する必要がある。っぽいのだ!
ふつうにできる。
document.iFrameName.FormName.submit();
512Biteとか1024Biteとか、サーバ・OSによって異なるらしい
.