2017-07-12 6 views
4

Ich habe ein Problem mit TinyMCE. In meiner auf CakePHP v3 basierenden Anwendung habe ich ein Formular, um Loyalitätsaufgaben hinzuzufügen. Es gibt ein Feld, das ynymce verwendet, um die Aufgabe zu beschreiben.TinyMCE erforderte das Senden von Formular verhindern

Also das Problem ist, wenn ich das Formular mit Daten füllen und klicken Sie auf Senden Schaltfläche nichts passieren. Außerdem gibt es die Form, um Aufgaben zu bearbeiten und es funktioniert perfekt (ist genau das gleiche). Für problematisches Formular wurde kein benutzerdefiniertes JavaScript hinzugefügt.

Ich weiß, dass TinyMCE mit erfordern auf Textarea das Problem verursachen, denn wenn ich deaktivieren, funktioniert es perfekt.

Einige Code:
TinyMCE Initialisierung:

tinymce.init({ 
    selector: 'textarea.tinymce', 
    height: 500, 
    plugins: [ 
     "advlist autolink link image lists charmap preview hr anchor image", 
     "wordcount visualblocks visualchars fullscreen insertdatetime nonbreaking", 
     "table paste" 
    ], 
    toolbar1: "undo redo cut copy paste | bold italic underline strikethrough subscript superscript | alignleft aligncenter alignright alignjustify | table", 
    toolbar2: "formatselect | outdent indent | bullist numlist | blockquote link unlink charmap hr image | preview", 
    menubar: false, 
    content_css: [ 
     '//www.tinymce.com/css/codepen.min.css' 
    ] 
}); 

Formular (entfernt einige Elemente):

<?= $this->Form->create(null, ['enctype'=>'multipart/form-data']); ?> 
<div class="col-xs-12"> 
    <div class="form-group"> 
     <label>Tytuł</label> 
     <input type="text" name="title" class="form-control" required="required"/> 
    </div> 
</div> 
//additional elements 
<div class="col-xs-12"> 
    <div class="form-group"> 
     <label>Treść zadania</label> 
     <textarea name="task" class="form-control tinymce" required="required"></textarea> 
    </div> 
    <input type="submit" class="" value="Dodaj"/> 
</div> 
<?= $this->Form->end(); ?> 

Gebraucht Version von TinyMCE: 4.6.4 (neueste)

+0

Ihr TextArea- nichts enthalten, wenn Sie auf Senden klicken und damit die Browser-Validierung Kicks in. ich in diesem Fall denken, Sie würden einige benutzerdefinierte js Validierung benötigen. https://stackoverflow.com/questions/16450499/form-with-tinymce-textarea-having-html5-required-attribute-cannot-submit – Morpheus

Antwort

0

Ihre bearbeiten Das Formular kann mit dem Formular zum Hinzufügen identisch sein, aber im Fall der Bearbeitung haben Sie einige Daten in den erforderlichen Feldern, so dass die Option required keinen Pro verursacht befleckt. In der zusätzlichen Form gibt es eine entgegengesetzte Situation - Sie haben ein leeres Feld und die Validierung schlägt fehl. Um dies zu lösen, können Sie required="required" aus tinymce input entfernen und zusätzliche Validierung durchführen - entweder in js auf der Clientseite oder in der CakePHP-Tabellenklasse auf dem Server.

2

Danke für schnelle Antworten, aber ich fand Antwort von mir auf ynymce Support-Forum.

Für andere, die dieses Problem haben werden: fügen Sie einfach den folgenden Code zu Ihrer tinyMCE-Initialisierung hinzu. Happening für TinyMce Editor-Fenster

setup: function (editor) { 
    editor.on('change', function (e) { 
     editor.save(); 
    }); 
} 
Verwandte Themen