- フォーム1 -

Documentオブジェクトの一つ

HTMLの中に書かれている<form></form>タグを参照するプロパティ。

forms[添え字]で使用する。 <form>のname と同じ働きをする。


<script type="text/javascript">
	function Confi(){
		a = document.forms[0].length;
		alert(a);
	}
</script>

<form></form>で使われている、Elementの数を返す。

formでのみ使用する言葉。form全体

elementsプロパティは連想配列です。elements[参照番号]

elements[]で取り出せる値はradioは個別に1個ずつ、selectはそれで1つと数えます。 name="***" と入っているので、selectはそれで1つなのだ!

value 文字を取り出す 文字列
type radioやtext等、type属性を取り出す type属性
checked radioで、チャックされている値を取り出す trueかfalse
selectedIndex セレクトメニューの内容を上から順に0番目〜値を取り出す 数字

<<例文:HTML>>


<form name="myF">
名前:<input type="text" name="text1" /><br />
住所:<input type="text" name="text2" /><br />
<input type="radio" name="BtnM" value="man" checked />男
<input type="radio" name="BtnF" value="woman" />女
<input type="radio" name="BtnU" value="uncertainty" />不明<br />
趣味:
		<select name="mySel">
			<option value="昼ね">昼ね
			<option value="釣り">釣り
			<option value="ドライブ">ドライブ
		</select><br />
感想:<textarea name="kansou" rows="4" cols="40" wrap="hard">
   感想をどうぞ</textarea><br />

<input type="button" value="内容を確認" onClick="Confi()" />
</form>

<<例文:JavaScript>>


<script type="text/javascript">
	function Confi(){
		a = myF.elements[0].value; //名前の値を取り出す
		b = myF.elements[1].value; //住所の値を取り出す

		for(i=2; i<5; i++){ //性別の値を取り出す
			check = myF.elements[i].checked;
			if(check==true){
				c = myF.elements[i].value;
			}
		}

		d = myF.mySel.options[myF.mySel.selectedIndex].text;
		  //趣味の値を取り出す
		e = myF.elements[6].value; //住所の値を取り出す
		

		subWin=window.open("about:blank","form_data",
		   "width=550,height=700");
		subWin.document.open();
			subWin.document.write("名前:",a,"<br>");
			subWin.document.write("住所:",b,"<br>");
			subWin.document.write(c,"<br>");
			subWin.document.write(d,"<br>");
			subWin.document.write(e);
		subWin.document.close();
	}
</script>

■エレメントの参照


<script type="text/javascript">
	function Confi(){
		c = myF.elements[0].type;
		alert(c);
	}
</script>

form(myF)の中のelements(部品)に何を使っているか(type)知りたい。
type="***" の部分を参照する。

■エレメントに何が書かれているか知りたい


<script type="text/javascript">
	function Confi(){
		c = myF.elements[0].value;
		alert(c);
	}
</script>

フォームに入力された中身を参照出来ます。
value とあるので、radioやbuttonの場合はvalue="man" の値を参照します。

※個別に参照したい時は、elements[]の部分をname="***" に置き換える。

■radio の値の取り出し方


<script type="text/javascript">
	function Confi(){
		a = myF.elements[2].checked; //チェックされていたらtrueが返される
		b = myF.elements[3].checked;
		c = myF.elements[4].checked;

		if(a==true){
			d = myF.elements[2].value;
			alert(d);
		}else if(b==true){
			e = myF.elements[3].value;
			alert(e);
		}else{
			f = myF.elements[4].value;
			alert(f);
		}
	}
</script>

■for文を使って1つにする方法


<script type="text/javascript">
	function Confi(){
		for(i=2; i<5; i++){
			a = myF.elements[i].checked;
			if(a==true){
				d = myF.elements[i].value;
				alert(d);
			}
		}
	}
</script>

■複数選択のチェックボックスの値の取り出し方


<script type="text/javascript">
		function Confi(){
			var aa = ""; //内容が空のローカル変数aaを作る

			for(i=0;i>4;i++){
				checkD = myF.elements[i].checked;
				if(checkD==true){
					nameD = myF.elements[i].value;
					aa = aa+nameD+" ";
					    //空のaaにどんどん文字を入れていく
				}
			}
			alert(aa);
		}
</script>

■セレクトの中身を取り出す


<script type="text/javascript">
	function Confi(){
		a=myF.mySel.options[myF.mySel.selectedIndex].text;
		alert(a);
	}
</script>

.textの部分を .valueにするとvalue="***"の部分を取り出せる。

selectメニューは option で構成されているので、options[参照番号]に知りたい番号を入れる。 上から順に0から始まる。

selectedIndexは選択された内容を0から始まる数字で値を返す。 だから、selectedIndexから返された値をoptionsの添え字にして、textで書き出す。

DL