2

HTMLは初めてです。これはおそらく非常に基本的なことですが、私が何をしても、フォームを機能させることができません。入力フィールド(テキスト領域)をクリックするたびに、マウスを押している間は入力フィールドが選択されたままになりますが、離すと、フォーカスはフォームの最初のフィールドに戻ります。これはHTML/CSSですか?どうやって直せばいいのかわからない。

これは私が作業していたフォームのURL(http://www.seanmccully.com/apps/langham/tea.html)ですが、おそらく今では修正されています。名、姓、都市、電子メールを選択できないことがわかります(データを入力するにはタブでのみ入力できます)。

4

2 に答える 2

11

これは、すべてのフォーム要素を 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>
于 2012-04-26T13:42:41.183 に答える
1

どこが間違っていたのかを見つけたようです:

  1. 元のコードをメモ帳にコピーします (HTML を書くときは常に必要です)。
  2. 不要なコードを削除して、問題をより明確に確認します (CSS コードやスクリプト コードなど)。
  3. 次に、コード ツリーを注意深く確認してください。あちらこちらでラベルのラベルを見かけます!

ほら、この男をどこにでも置いてはいけません。テキストガイという名前の入力ではなく、彼を常に集中させます。そのため、ラベルを削除してみてください。あなたはそれをチェックします。

于 2012-04-26T14:21:09.327 に答える