WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:基本教えて2

ひら[MAIL][URL][WriteDate : Tue Jul 18 16:30:37 2000]

どんどん勉強しています(のつもり)。「forms/elements配列の使い方」で教えて下さい。だいたい理解できたんですけど・・・。

<SCRIPT LANGUAGE="JavaScript">
     function disp(){
        var i, n, m; //関数内で宣言しているからこれはローカル変数ですよね。「ローカル変数ってのは宣言した関数内で有効である」←あってます?

        n = document.TestForm.elements.length;//「n」にフォームエレメントの数を代入。
        m = ""; //これは「m」を初期化しているのかな?
        for (i = 0; i < n-2; i++){
             m = m + document.TestForm.elements[i].name + ":"
                   + document.TestForm.elements[i].value + "\n";
//つまづいたのはココ。最初に「m」を足しているのは何故ですか? ナシで試したらうまくいかなかったので必要だとは思うのですが、どういう意味があるのか教えて下さい。
        }
        document.TestForm.Msg.value = m;
     }     
</SCRIPT>
<form name="TestForm">
NAME:<INPUT TYPE="text"   NAME="Name" SIZE=20><br>
AGE :<INPUT TYPE="text"   NAME="Age" SIZE=6><br>
JOB :<INPUT TYPE="text"   NAME="Job" SIZE=20><br>
<INPUT TYPE="button" NAME="bt" VALUE="確認" onClick="disp()">
<TEXTAREA NAME="Msg" ROWS=4 COLS=30></TEXTAREA>
</form>

ちゃいぱ[MAIL][URL][WriteDate :Tue Jul 18 17:50:29 2000]


>〜〜有効である」←あってます? 
Yes!

>これは「m」を初期化しているのかな?
Yes!
これを「ヌルで初期化する」なんて云います。

>最初に「m」を足しているのは何故ですか?
難しい!(説明するのが〜)

たとえば、

x = 0;
x = x + 1;
x = x + 1;
x = x + 1;



x = 0;
for(i=0; i < 3; i++){
    x = x + 1;
}
が同じ結果になりますが、わかりますか?

m = m + document.Tes〜〜
のとき、右側のmはこの処理をする前のmで、
左側のmはこの処理をした後のmです。

また、きいてください!

じゃすみん[MAIL][URL][WriteDate :Tue Jul 18 17:53:33 2000]

茶々入れです。
>これを「ヌルで初期化する」なんて云います。 
""はヌルじゃないよ。
ヌルにするときはちゃんとnullって書くよ!


ひら[MAIL][URL][WriteDate :Tue Jul 18 18:13:45 2000]


>>最初に「m」を足しているのは何故ですか? 
>難しい!(説明するのが〜) 

>たとえば、 

>x=0; 
>x=x+1; 
>x=x+1; 
>x=x+1; 

>と 

>x=0; 
>for(i=0;i<3;i++){ 
>x=x+1; 
>} 
>が同じ結果になりますが、わかりますか? 
わかります。
あ、そっか。「m」をとって試したらどうなるかやってみたんですよ。そしたらJOBの項目しか表示されなかった・・・。つまり、NAME,AGE,と上書き上書きで繰り返し、最後のJOBでストップしたということなんですね。それを防ぐために、最初に代入したエレメントに追加する形で代入を繰り返したんだ。はは〜ん。
すっきりした!
ありがとうございます!!


ちゃいぱ[MAIL][URL][WriteDate :Tue Jul 18 19:15:24 2000]

じゃすみんさんへ

ヌルとヌル文字列を勘違いしました!
ご指摘ありがとうございました。

とりあえず、完了にしときます!

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




Back