JavaScript - textarea(テキストエリア) の値を取得する value
JavaScript で textarea(テキストエリア) の値を取得する場合は、 value プロパティを利用します。
ここでは id 属性、name 属性、elements を利用して textarea(テキストエリア) の内容を取得する方法を説明します。
id 属性を利用して値を取得する
テキストエリアに id 属性がある場合は、 getElementById() メソッドを利用します。
次のようなテキストエリアのコードがあるとします。
「id=”area”」です。
<p><textarea id="area" rows="10" cols"20">サンプルテキスト</textarea></p>
この場合、テキストエリアの値を取得する JavaScript のコードは、
次のようになります。
var str = document.getElementById("area").value;
console.log(str); // サンプルテキスト
先に要素だけを取得して、後で value プロパティを参照する場合は次のようになります。
var area = document.getElementById("area");
console.log(area.value); // サンプルテキスト
name 属性を利用してテキストエリアの値を取得する
name 属性がある場合は次のようにテキストエリアの値を取得できます。
document.フォームのname.テキストエリアのname.value
同じ name のテキストエリアが複数ある場合は次のように取得します。
document.フォームのname.テキストエリアのname[].value
では具体的に見ていきます。
フォーム部分のコードは次のようになっています。
フォームの name が “form0″、テキストエリアの name が “area”。
同じ name のテキストエリアが複数あります。
<form name="form0">
<p><textarea name="area" rows="5" cols"20">テキストエリア0</textarea></p>
<p><textarea name="area" rows="5" cols"20">テキストエリア1</textarea></p>
</form>
2つのテキストエリアのうち、 上のテキストエリアの値を取得する場合、 次のコードとなります。
var str = document.form0.area[0].value;
console.log(str); // テキストエリア0
下のテキストエリアの値を取得する場合、 次のコードとなります。
var str = document.form0.area[1].value;
console.log(str); // テキストエリア1
id 属性も name 属性もない場合は?
テキストエリアに id 属性も name 属性もない場合は、 elementsを使って次のように記述します。
document.フォームのname.elements[].value
フォーム部分のHTML
<form name="form0">
<p><textarea rows="5" cols"20">テキストエリア0</textarea></p>
<p><textarea rows="5" cols"20">テキストエリア1</textarea></p>
</form>
上のテキストエリアの値を取得するコードは、 次のようになります。
var str = document.form0.elements[0].value;
console.log(str); // テキストエリア0
まとめ
★ テキストエリアの値を取得する方法は複数あります。
★ 一番シンプルなのが id 属性で取得する方法です。
★ それ以外だと、フォーム部品の追加や削除があった場合、 JavaScriptコードも変更することになります。