これは、すべてのフォーム要素を 1 つの要素にラップしたためですlabel
。それを取り除くと、うまくいきます。
要素は1label
つのフォーム コントロールにのみ関連付けることができ、いずれかをクリックするとlabel
、関連付けられたコントロールにフォーカスが移ります。内に複数のコントロールがlabel
あるため、最初のコントロールに関連付けられます。クリック イベントが DOM に伝播すると、他のフォーム コントロールをクリックするとラベルに到達し、関連付けられたコントロール (最初のコントロール) にフォーカスが移ります。
要素を使用する場合label
は、コントロールごとに 1 つ必要になります。span
要素を要素に変更label
し、属性を使用してfor
そのラベルをコントロールに関連付けるか、各コントロールをラベルでラップすることができます。
<label class="labelstyle" for="fname">First Name</label>
<input name="fname" type="text" class="fieldstyle" id="fname" size="25" maxlength="50"/>
<!-- or -->
<label class="labelstyle">
First Name <input name="fname" type="text" class="fieldstyle" id="fname" size="25" maxlength="50"/>
</label>