2016-05-18 5 views
0

私の問題:予想通りLaravel - TinyMCEの内のビューからのテキストエリアの値を取得

すべてがビュー内で表示されているが、ユーザーがテキストフィールドを編集したあとで、私は、その後にそれを再アップロードしますデータベース。しかし、コントローラー内では、私はget 'textarea'内のテキストをすることはできません。私のビュー内に設置

現在のHTMLは次のとおりです。私が試してみました

<script type="text/javascript"> 
    tinymce.init({ 
    selector: '#report', 
    menubar: false, 
    browser_spellcheck: true, 
    }); 
</script> 

{!! Form::open(array('route' => 
    array('updateReport', $report->first()->id), 'role'=>'form','id'=>'updateReport')) !!} 

<textarea class="form-control" id="report" name="report" rows="15"> 
    {{ $report->first()->html }}</textarea> 

<button type="submit" class="btn btn-labeled btn-success" aria-hidden="true"> 
    <span class="btn-label"> 
     <i class="glyphicon glyphicon-save"></i></span> Update Report</button> 

{!! Form::close() !!} 

Javascriptのセクションでは、TinyMCEの初期化する

Input::all() and Input::get('report')を - 両方の後退n null

新しく編集され、「舞台裏で」保存された生のHTMLを取得するにはどうすればよいのでしょうか?

事前に感謝します。

+0

「tinyMCE.getContent( '#report');」は返されませんでしたか? – camelCase

+0

[TinyMCE textareaから値を取得する]の可能な複製(0120-338-201) – jmcgriz

+0

@camelCase、どのように私はこれを返すでしょうか?私のフォームの中で、私はコントローラの中でそれにアクセスできますか? – Ben

答えて

0

を心配する唯一のフィールドがある場合、tinymce.activeEditor.getContent()トリック

+0

'submit'をクリックすると、これを使ってテキストを返すことができますか? – Ben

+0

javascriptでフォームの送信を傍受し、その値を隠しフィールドに書き込むことができます(または元のテキストエリアに戻すことができます)。これとは別に、tinyMCEをLaravelと統合するためのパッケージもあります。https://github.com/ktquez/laravel-tinymce – jmcgriz

+1

上記の推奨パッケージは期待通りに動作します。多くのありがとう、@jmcgriz! – Ben

0

あなたが救うトリガするエディタにchangeイベントをバインドするために戻ってsetupコールを使用することができますを行う必要があります。これにより、修正されたコンテンツがオリジナルのtextareaに戻され、スクリプトに投稿することができます。

<script type="text/javascript"> 
    tinymce.init({ 
    selector: '#report', 
    setup: function (editor) { 
     editor.on('change', function() { 
      tinymce.triggerSave(); 
     }); 
    }, 
    menubar: false, 
    browser_spellcheck: true 
    }); 
</script> 
関連する問題