2013-05-08 5 views
6

Dies ist keine Frage, sondern eine Antwort, die ich mit Ihnen teilen möchte. Ich habe gerade über vier Stunden damit verbracht, mir die Haare auszureißen, was sich entweder in TinyMCE oder Firefox als Fehler herausstellt.Formular mit tinyMCE Textarea mit html5 erforderlich Attribut kann nicht übergeben

Mit TinyMCE geladen, wenn Sie das HTML5 required Attribut auf einem textarea angeben wird das Formular einfach nicht in Firefox vor. Keine Fehler, nichts in Firebug, nur eine hartnäckige Weigerung, sich zu unterwerfen.

Ich weiß nicht, ob das ein FF oder ein TinyMCE Bug ist und nicht wirklich interessiert. Ich will einfach nicht, dass andere Programmierer die Erschwerung durchmachen, die ich in den letzten Stunden durchgemacht habe.

Um eine Frage zu stellen: Ist dieser Fehler irgendwo dokumentiert? Weiß jemand?

Wenn dies eine unangemessene Post für Stack Overflow ist, sag es mir und ich werde es löschen.

Antwort

2

Das Problem ist weit von einem Firefox-Problem. In der Tat Chrome und Opera ("alte" Oper vor dem "Gehirn" wurde mit Chrome verpflanzt) und wahrscheinlich würde jeder andere moderne Browser Ihnen die gleichen Kopfschmerzen bereiten.

Sowohl bei Opera als auch bei Chrome gibt es eine Flagge, die darauf besteht, dass das Feld ein Muss ist (trotz der Tatsache, dass Sie Inhalt haben). Chrome ist schön genug, um diese Fehlermeldung in der Konsole zu geben:

An invalid form control with name='<name of textarea>' is not focusable. 

nicht allzu überraschend, wenn man bedenkt, dass TinyMCE tatsächlich schafft einen editierbare div Container, Ihre ursprünglichen textarea versteckt. Es ist dieses versteckte textarea (mit einem required Attribut), dass der Browser erwartet, dass Sie einen Wert für bereitstellen.

Over bei Github, hier: https://github.com/tinymce/tinymce/issues/2584, gibt es eine vorgeschlagene Lösung, die so geht:

// fix tinymce bug 
     if($this.is('[required]')){ 
      options.oninit = function(editor){ 
       $this.closest('form').bind('submit, invalid', function(){ 
        editor.save(); 
       }); 
      } 
     } 

ich diesen Schnipsel persönlich nicht getestet, aber es könnte in der Lage zu bekommen studieren gehen Sie, wie Solange Sie es an den richtigen Ort fallen lassen können.

Verwandte Themen