1

私は組み合わせが正確に何であるかを理解しようとしています

... value id= ...

<input type="text" name="session_key" value id="session-key-login">

します。値の直後に id が続くことに注意してください。

私の問題は、そのような組み合わせが入力フィールドで発生するたびに(たとえば、Facebookログインページの「メールまたは電話」フィールド(のみ)およびLinkedInログインページのすべての場所)、

 document.getElementById(..).focus()

メソッドは失敗します。Facebookは1つのフィールドにのみ使用し、他のすべてのフィールドにはidの前に空の値フィールドがないため、「値ID」の組み合わせは重要なことを行うと確信しています。

前もって感謝します。

4

2 に答える 2

4

これらは 2 つのまったく異なる属性です。属性はスペースで区切られていることに注意してください。そのため=、例のように後で指定しない場合でも、それは別個の属性であり、次の属性とは結合されません。

  • value入力の値 (ページがレンダリングされるときに事前に入力される値) を定義します。(あなたの例のように)空のままにすると、何もしません。ただし、そうすると、テキスト ボックスにはvalue="hi"「こんにちは」があらかじめ入力されます。

  • id入力の一意の識別名を指定します。JavaScript を使用して、DOM 内の要素にアクセスするために使用されます。document.getElementById('session-key-login')

于 2013-05-17T11:39:56.190 に答える
0

focus() の問題に対する答えを見つけたと思います。

私が見つけたのはページ上で、一度必要な要素に焦点を合わせて focus() を呼び出すことでした。ただし、たとえば同じ要素で blur() メソッドを呼び出すなどして、ページが前のフォーカスを明示的に失わない限り、同じ要素での 2 回目の呼び出しは失敗します。

私は間違っているかもしれませんが、私の推測では、Facebook はロード時に暗黙的/自動的に「メール」フィールドに焦点を合わせているため、2 番目の焦点は何もしません。それは他の分野で機能しますが。

したがって、スティーブン・モーズリーによる説明はしっかりと保持されます:)

ありがとう、ニキル

于 2013-05-18T09:54:08.843 に答える