Satayメソッドを使用してWebページにFlashアプリを埋め込む作業をしています。
<object type="application/x-shockwave-flash" data="embeddy.swf"
id="embeddy" name="embeddy">
<param name="movie" value="embeddy.swf" />
</object>
FlashがExternalInterface.objectID
に正しいobjectID
を提供するようにしたいのですが、これはname
属性とid
属性の両方をobject
に設定する必要があることを意味します。 。
通常、HTMLの要素との名前の衝突を避けようとしますが、この場合、両方の属性を同じ値に設定することに何か問題がありますか?
HTMLフォームはどうですか? a(n)(input
| select
| textarea
)要素のname
を設定する価値があると感じている人はいますか?とid
属性を同じ値に?
JavaScriptの操作にはIDを使用します。
フォームフィールドの送信には名前を使用します。
2つは関連していません。したがって、両方を同じ値に設定しても問題ありませんが、必須ではありません。
それは大丈夫であるだけでなく、かなり一般的です。
IDは、Javascript(および程度は低いですがCSS)に使用されます。
送信された値の名前を指定するために、フォームフィールドに名前が使用されます。
ただし、古いバージョンのIEには既知のバグがあり、多くの場合、両方を同じように指定する必要があります(もちろん、これらの古いバージョンのIEをサポートしたい場合)。
ただし、覚えておくべきことの1つは、IDは一意である必要があるということです。したがって、すべて同じ名前のラジオボタンがある場合、それらすべてに同じIDを使用することはできません。ただし、他のほとんどの場合、同じにすることはまったく問題ありません。
うん!これは絶対に問題ありません。
idはクライアント側の識別子です(DOMで要素を検索する場合)
nameは、値をPOST/GETするためのフォーム送信中に使用されます。
入力要素の外では、nameを使用する必要はまったくありません。ただし、入力要素にidを指定すると、一貫した方法でDOMで検索できます。
私はちょうど発見しました 私の質問に対するHTML4の答え :
Id属性とname属性は、同じ名前空間を共有します。つまり、同じドキュメント内で同じ名前のアンカーを両方で定義することはできません。両方の属性を使用して、次の要素の要素の一意の識別子を指定することができます。
A, APPLET, FORM, FRAME, IFRAME, IMG, and MAP
。 両方の属性が単一の要素で使用される場合、それらの値は同一である必要があります。
ここで、applet
およびiframe
に適用されるルールは、拡張により、object
およびembed
タグに対して機能するはずであると想定します。いずれにせよ、同じ名前とIDを使用しても、これまでに異常なイベントは発生していません。
私はいつもそれをしています(ほとんどの場合、過去の一部のブラウザー-IEが頭に浮かぶ-フォームデータを送信するときにnameパラメーターのみを使用するため)。idを使用すると、フォーム検証コードがはるかにクリーンになります。 IMO。