頼まれ備忘録なので軽く。
30秒で読めますw
JavaScriptでForm要素の値の取り方
他にもいっぱいあるけど。
で、
<form action="" name="f"> <input type="text" name="v1" value="aaa" /> <input type="text" name="v2" value="bbb" /> </form>
こういうHTMLがあって、各要素の`value`を操作したいとする。
// Case 1: OK var x = document.f.elements['v1']; x.value = "Nya"; // Case 2: NG var y = document.f.elements['v2'].value; y = "Nyo";
なんでCase 2の方はダメなの・・?っていう。
変数の中身が
わかる人には何をいまさらって感じですが、代入する変数に問題があります。
// Case 1: OK var x = document.f.elements['v1']; // xにはフォーム要素が代入 x.value = "Nya"; // そのフォーム要素のvalueを操作 // Case 2: NG var y = document.f.elements['v2'].value; // y にはフォーム要素の値が代入 y = "Nyo"; // yの値を操作 ≠ フォーム要素のvalue
というわけで。
`y`はフォーム要素の値が入ってるだけで、そのフォーム要素自身ではないので、後から操作しても何も起こらないってわけでした。