フォームは入れ子にすることはできませんので、たとえば、以下のHTMLに...ブラウザが無視する無効なHTMLを見つけ出すにはどうすればよいですか?
<form name="outerform">
<input type="text" name="outer1"/>
<input type="text" name="outer2"/>
<div>
<form name="innerform" method="post" action="#">
<input type="text" name="inner1"/>
</form>
</div>
</form>
Firefoxは、単に、innerform<form>
タグを捨てますが。
一部のレガシーコードにパッチを適用しながら、私はこれに走りました。誰かがコンテンツのほぼ全部をカバーする<form>
タグを配置していました。よりローカル化された<form>
を自分自身で追加したとき、Firefoxは内側のタグを取り除き、私のサブミットは外側のフォームになりました。送信URLを作成するためにjQueryの処理を行っていたので、私はそれが私のエラーだと思っていました。私はFirebugのHTMLタブでレンダリングされたHTMLを見た後で問題を認識しました。
ブラウザの場合、またはFirebugのは、私はすぐにそれを選び出しただろう「無視HTML」、またはそのようないくつかの方法のタブを持っていました。私は単にビュー・ソースを行い、次の理由でW3CのWebベースの検証サービスに貼り付けることができません。
- セキュリティ上の理由から、私は上だ開発コンピュータは、公共のインターネットに接続されていません。
- FirebugのHTMLタブにはレンダリングされたHTMLが表示されるため、無効なHTMLタグは既に削除されています。
最後に、エディタ(Eclipse)は通常このようなバグを検出します。しかし、多くのインクルードファイルとTilesフレームワークを使用するため、一度に最終HTMLページの断片だけが表示されます。それは無効だ場合
Firefoxのview-sourceにレンダリングされたHTMLは表示されません。あなたのテストケースのようなものを置くと、 '
ありがとう、私はその問題を修正しました。私はFirebugのHTMLタブであり、ビューソースではありません。 –