2016-05-18 11 views
0

Mein Problem:Laravel - die TextArea- Wert aus Sicht innerhalb TinyMCE bekommen

Alles ist wie erwartet in der Ansicht erscheinen, aber sobald der Benutzer das Textfeld bearbeitet hat, möchte ich dann laden wieder es zu die Datenbank. Innerhalb des Controllers kann ich jedoch nicht den get Text innerhalb des 'textarea'.

Aktuelle HTML innerhalb meiner Ansicht eingerichtet ist:

{!! 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 Abschnitt der TinyMCE zu initialisieren:

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

ich versucht habe:

Input::all() and Input::get('report') - beide zurück n null.

Wie bekomme ich die rohe HTML, die neu bearbeitet und hinter den Kulissen gespeichert wird, sicherlich muss es einen einfachen Weg geben?

Vielen Dank im Voraus.

+0

Würde nicht die bereitgestellten 'tinyMCE.getContent ('# report');' zurückgeben? – camelCase

+0

Mögliches Duplikat von [Abrufen des Werts aus einem TinyMCE-Textbereich] (http://stackoverflow.com/questions/6541782/getting-the-value-from-a-tinymce-textarea) – jmcgriz

+0

@camelCase, Wie würde ich das trotzdem zurückgeben? in meiner Form, so kann ich bitte in meinem Controller darauf zugreifen? – Ben

Antwort

0

Wenn es nur ein Feld zu befürchten, sollte tinymce.activeEditor.getContent() den Trick

+0

Wie kann ich dies verwenden, um den Text zurückzugeben, wenn ich auf "Senden" bitte klicken? – Ben

+0

Sie könnten das Formular mit JavaScript abfangen und diesen Wert in ein verstecktes Feld (oder zurück in das ursprüngliche Textfeld) schreiben. Alternativ gibt es Pakete für die Integration von tinyMCE mit Laravel wie diese https://github.com/ktquez/laravel-tinymce – jmcgriz

+1

Das oben genannte Paket, das Sie empfohlen haben, funktioniert wie erwartet. Vielen Dank, @jmcgriz! – Ben

0

Sie können den setup-Aufruf wieder ein change Ereignis an den Editor zu binden, die den Schuß auslöst. Dadurch wird der geänderte Inhalt wieder in das Original textarea eingefügt, sodass Sie ihn in Ihr Skript einfügen können.

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