これは、すべてのフォーム要素を 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>