2012-03-19 12 views
1

jQueryモバイルを使用する場合、フォーム内でID属性の使用に関する質問があります。私が持っているものは機能的だと思われますが、私はすべてを一貫した正確な状態にしたいと考えています。フォーム上のjQueryモバイル固有ID属性

jQueryのモバイルドキュメントの状態:フォームを構築

はjQueryのモバイルで使用される、通常のHTTPポストを経由して提出したり取得フォームを作成するために使用される標準的なガイドラインのほとんどは、まだ適用されます。ただし、フォームコントロールのID属性は、特定のページで一意である必要はなく、サイト内のページ間で一意である必要があることも覚えておいてください。これは、jQuery Mobileのシングルページナビゲーションモデルでは、同時に複数の「ページ」がDOMに存在することができるため、一意のID属性を使用するように注意する必要があります。もちろん、for属性を使ってラベル要素と適切にペアリングしてください)。

私は複数のページのウェブサイトを持っています。ページごとに1つのフォーム。すべてのページのすべてのフォームは、ページ名に基づいて一意のIDを持ちます(例: "return-user-details.php"ページにID = "rudForm"のフォームIDが表示されます)。

しかし、これらのページの多くは、同じ入力フィールド(ユーザー名のテキストフィールド要素(別名フォームコントロール?))が必要です。これらはすべてname = "username"属性と値を使用します。 ID属性はありません。

として現在、この特定のフィールドが提示されています。私の主な質問は、私はすべてのページにわたってユーザ名テキストフィールドだけでなく、フォームIDの一意のIDを持っている必要があり、またはでしたか否かである

<legend>Username:</legend> 
<input type="text" name="username" maxlength="20" /><label for="username">&nbsp;</label> 

私はすべてのページでこのフィールドのid = "username"としますか?私はこれに対する答えが要素/フォームコントロールにも適用されると思いますか? (したがって、おそらく、ページ上のフォーム内のすべてのIDに「ページプレフィックス」を使用することをお勧めします)。

私が言ったように、現在、私はこのフィールドを含むそれぞれ異なるページを使用することができ、うまく機能しているようですので、その後の質問は上記を使って何がうまくいかないのかについてです。 「DOM内に複数のページが存在する」という抽象的な概念を理解していますが(たとえば、固有のものを要求するなど)、jQueryがどのようにして問題になるかを十分に理解できません。それはスタイリング/書式設定の問題を引き起こす可能性がありますか?または、間違ったデータが送信されている可能性もあります

多くのおかげで、

ロブ

答えて

2

複数の項目は、単一のHTML文書内の同じid属性を持っていることは有効なことはありません。 IDを指定していない場合は、舞台裏であなたのために生成されるか、空白のままになります。どちらの方法でも、id属性の衝突はないはずです。

編集:私たちのjQueryモバイルサイトでもコントロールを再利用しています。私たちの誰もid属性を指定していません。これはうまく動作し、ほぼ1年間生産されています。

+0

こんにちは、返信ありがとうございます。私は単一のHTML文書で同じID属性を再使用していません - それが明確でない場合は申し訳ありません:)私はページごとに1つのフォームを持っています。各フォームには固有のIDがあります。しかし、例えば、page1.phpにはユーザ名フィールドがあり、page2.phpにはユーザ名フィールドもあります。これらには一意のIDが必要ですか?彼らが同じページにいたなら、これは明らかですが、そうではありません。ページはjQueryモバイルを使用していますが、これは異なるHTMLドキュメントでも一意のIDを持つことを暗示しているようです。あなたは私のようにそれを使用し、問題がないことを聞いてうれしい! – Robin

+0

応答が遅れて申し訳ありません...あなたは1ページのアプリケーションを行っている場合。 – mckeejm

関連する問題