0

厳密な DOCTYPEにaction 属性<form id='SomeForm'>..</form>のないフォーム タグがある場合、レンダラーはフォーム タグを無視し、 IE の F12 開発ツールと FF の Firebug はレンダリングされた DOM にそのフォーム要素を表示しません。しかし、生の HTML (ソースを表示) にはそれが表示されます。

jQuery 経由でフォームにアクセスしようとしました$('#SomeFrom')が、空の配列が返されます[]

DOCTYPE をトランジショナルに変更すると、機能します。しかし、私のアプリケーション全体の設定では厳密な DOCTYPE が必要です。JavaScript 経由でページの生の (ソース) HTML にアクセスする方法はありますか?

ノート:

SharePoint 2010 CMS を使用しています。ページの HTML を編集して保存すると、アクション部分が切り捨てられます。基本的に、フォームを作成するための推奨される方法ではありませんが、私はすでにフォームを含む多くのページを作成しています。ここで、同じハンドラーでそれらを検証、文字列化、および ajax 化するためのスクリプトが必要です。

また、このアプローチを使用して、フォームフィールドを div でラップし、文字列化して次のように送信できます。

JSON.stringify($("div#SomeForm input, div#SomeForm textarea, div#SomeForm select").serializeObject())

しかし、フォームにアクセスできれば、コードはより洗練されたものになり、同じように jQuery の検証拡張も使用できます。

4

0 に答える 0