2011-01-31 9 views
2

htmlページ全体をサーバーに投稿することはできますか(サーバーがそれを処理できると仮定して)?Javascript:ページ全体を投稿するには?

次の設定を実装しようとしています。ユーザーは何らかの変更を加えます(ユーザーは何らかのテキストを選択し、このテキストは<スパン>のタグでクラス化されています)をhtmlにして送信します。サーバーは、ページから関連する変更を抽出します。 これは可能ですか?あるいは、もっと複雑な計画を立てる必要がありますか?

答えて

2

document.getElementsByTagName('html')[0].innerHTMLはページのHTMLを取得し、XMLHttpRequest(AJAX)はデータを送信するPOSTを許可します。これらの2つを組み合わせると、基本的な機能が得られます。

2

さてあなたはこれを行うには、いくつかのJavaScriptの魔法を行う必要があります。

通常のみ入力要素が送信されます。

JavaScriptを使用してDOMを読み込んでHTML(document.body.innerHTML might work)に変換し、Ajaxを使用してサーバーを呼び出したり、テキストボックスにデータを格納したり、スクリプトからフォームを送信したりする必要があります。

しかし、変更を行うには、選択肢をスパンでラップしてください。既にスクリプトを作成しています。たとえば、親要素+選択開始と選択終了、またはおそらく全体要素内のテキストをサーバーに送り、サーバーにアクションを複製させますか?

2

あなたがしたいことは可能ですが、IMHOでは別のアプローチをとる必要があります。ページ全体をポストバックするのではなく、HTMLフォームの中にページのすべてのコンテンツを表示する方が良いでしょう。各要素はCSSを使用してスタイルを設定できるため、フォームフィールドのようには見えませんが、編集可能なままです。 Javascriptを使用して、静的なHTMLから通常のフォームの要素に領域を切り替えることもできます。

AJAXテクニックを使用すると、変更ごとにユーザーに「保存」する必要はなく、自動的にボケの変更を投稿することができます。

関連する問題