0

私は一貫性のために1つを選びたかったのですが(それは問題ではないと思いますが)、idを使用しました....経由document.getElementById().

もう使わない

  • js アクセスの名前属性
  • フォーム配列アクセス

これには複数の投稿があります...しかし、生活を楽にし、これ以上考えないようにするために..私はIDのみを使用しています。

この選択に問題はありますか?

N5とN6とW3のスペックはあまり気にしません。

以下に類似の投稿をいくつか示します。

ベスト プラクティス: HTML id または name 属性でフォーム要素にアクセスしますか?

4

2 に答える 2

1

ID は、ページ上のすべての要素の一意の ID に使用されると想定されています。そのため、同じドキュメントに複数回含めることは無効です。

しかし... NAME属性は、HTML標準内で合法的に繰り返すことができます。name がフォーム入力項目で使用される場合、cgi が受け取る値は、name=value のペアに基づいています。ID には固有の名前はありません。

正直なところ.. 2つの目的が非常に異なるため、ここではリンゴとオレンジを混ぜていると思います。

于 2012-08-09T22:17:06.020 に答える
1

1 つのページに複数の入力がある複数のフォームがある場合、各フォーム入力にidを使用する場合は、各入力の識別子の一意性に注意する必要があります。そのため、識別子は「my-form-user-name」や「my-other-special-form-user-name」などのように長くなる可能性があります。

したがって、フォーム要素に ID を指定し、ID でフォームを取得してから、その要素を名前で参照することをお勧めします。それぞれに 10 個のフィールドを持つ 5 つのフォームの 50 個のフィールドを作成するよりも、いくつかのフォームに一意で読み取り可能な識別子を作成する方が簡単です。そして、おそらくコードはより読みやすくなります。

<h4>Article form</h4>
<form id="article-form" method="post">
    <label>Title:</label>
    <input name="title" type="text" />
    <label>Text:</label>
    <textarea name="text"></textarea>
    <input type="submit" name="submit" value="Comment" />
</form>

<hr />

<h4>Support form</h4>
<form id="support-form" method="post">
    <label>Title:</label>
    <input name="title" type="text" />
    <label>Text:</label>
    <textarea name="text"></textarea>
    <input type="submit" name="submit" value="Submit issue" />
</form>
<script type="text/javascript">
    var article = document.getElementById('article-form'),
        ticket = document.getElementById('support-form');

    article['title'].value = 'My Article';
    article['text'].value = 'The text of my article...';

    ticket['title'].value = 'I found bug at your site';
    ticket['text'].value = 'Bug description...';
</script>

フィドル

しかし、私の例のようにラベルを使用していて、それらの属性を使用forしてそれらを入力にバインドしたい場合は、とにかくその入力の識別子が必要です。

于 2012-08-09T22:54:44.130 に答える