1

こんにちは、私は ckeditor を使用してそれぞれを個別に編集できるようにしたい、約 9 つの個別の div を持つページを実装しています。このページは、codeigniter を使用して php を介して動的に生成されていますが、最終化する前にユーザーが HTML を変更できるようにしたいと考えています。ここに示すように、現在、divを編集するためにckeditorを実装しています: http://nightly.ckeditor.com/7614/_samples/divreplace.html

ただし、ユーザーが完了したら、wkhtmltopdf を使用してページを PDF に変換するため、サーバーに HTML を保存できるようにしたいと考えています。例でわかるように、いずれかの div をクリックすると、新しいエディターが開きます。ユーザーがページの編集を完了したときに変更を送信する方法が必要です。結果の HTML を pdf しようとしているため、ボタンや同様の要素を含めることはできません。また、この例ではすべてのエディターを非表示にすることはできないため、PDF が ckeditor ボックスを表示する新しいエディターしか開くことができないことも心配しています。javascriptイベントでドキュメントを取得し、ajaxリクエストを介してphp関数に送信してファイルに保存し、ファイルをPDFにすることができると考えていましたが、html送信イベントをトリガーする方法や置換する方法がわかりません残りの編集ボックス。助言がありますか?

4

2 に答える 2

3

2ページ目を作成してデータを投稿してみませんか?

プレビューと編集オプションを無料で利用できるというメリットがあります。

于 2012-09-24T17:47:35.070 に答える
2

PDF に変換したいコンテンツを div にラップするだけで、フォームが送信されたときに非表示フィールドにシリアル化できます。

<form id="yourForm" method="post" action="foo">
    <!-- This DIV will be serialized... -->
    <div id="yourContentToBeSaved">
        <!-- Your editors go here... -->
        <div class="editable">
            Foo
        </div>
        <div class="editable">
            Bar
        </div>
        ...
    </div>
    <input id="hidden" type="hidden" />
    <button type="submit">Serialize the DIV, then save the form</button>
</form>

jQuery コード:

$( '#yourForm' ).submit(function() {
    // Destroy all the editors.
    for( var instance in CKEDITOR.instances )
        CKEDITOR.instances[ instance ].destroy();

    // Store #yourContentToBeSaved HTML in a hidden field. You can 
    // retrieve these data with PHP on the server-side once the form is submitted.
    $( '#hidden' ).val( $( '#yourContentToBeSaved' ).html() );
});

ほら!

于 2012-09-25T08:23:36.677 に答える