HTML5ではフォームのコントロールの名前を変えても以前の名前で参照できるのが正しい
問題のデモ
IEでは動かないと思います。
理由
IE以外は以下のHTML5の仕様に従っているようです。
フォームの要素に名前でアクセスするとき(例:document.forms[“hoge”][“fuga”] )、その名前で一度アクセスすると、その名前はその要素を参照するために利用し続けることができる。たとえその要素の名前を変更したとしても。
form[name]
form(name)
Returns the form control (or, if there are several, a NodeList of the form controls) in the form with the given ID or name (excluding image buttons for historical reasons); or, if there are none, returns the img element with the given ID.
Once an element has been referenced using a particular name, that name will continue being available as a way to reference that element in this method, even if the element’s actual ID or name changes, for as long as the element remains in the Document.
If there are multiple matching items, then a NodeList object containing all those elements is returned.
http://www.w3.org/TR/html5/the-form-element.html#the-form-element
コメント