Ankündigung

Einklappen
Keine Ankündigung bisher.

Bassistance jQuery Form Validation Plugin + cKeditor klappt nicht

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bassistance jQuery Form Validation Plugin + cKeditor klappt nicht

    Hallo liebes Forum,

    ich setze für eine Datenbank den cKeditor ein und möchte die Seite anschließend mit dem Bassistance jQuery Form Validation Plugin auf die Eingabe von Pflichtfeldern überprüfen. Das klappt bei einfachen Eingabefeldern problemlos, allerdings nicht bei cKeditor-Felder, da die ja per JS durch Inline-Frames ersetzt werden. Ich hab mich dann auf die Suche gemacht und folgende Lösungsansätze gefunden und probiert:
    1. http://stackoverflow.com/questions/1...te-when-typing - Textarea entsprechend aktualisieren:
    Code:
    CKEDITOR.instances["kurzbeschreibung"].on("instanceReady", function()
            {
                            //set keyup event
                            this.document.on("keyup", updateTextArea);
                             //and paste event
                            this.document.on("paste", updateTextArea);
    
            });
    
            function updateTextArea()
            {
                    CKEDITOR.tools.setTimeout( function()
                                { 
                                    $("#kurzbeschreibung").val(CKEDITOR.instances.kurzbeschreibung.getData());
                                    $("#kurzbeschreibung").trigger('keyup');
                                }, 0);  
            }
    Hat nicht funktioniert, kann aber daran liegen, dass ich das Script an der falschen Stelle untergebracht habe: Gehört das in den Header oder wird das vor/ nach cKeditor-Aufruf platziert?
    Code:
    	<script type="text/javascript">
    		CKEDITOR.replace( 'kurzbeschreibung' );
                    </script>
    2. Ein weiterer Ansatz: http://stackoverflow.com/questions/1...in-not-working - eine eigene Methode für den Validator schreiben:
    Code:
    jQuery.validator.addMethod("ckeditor", function(value, element) { 
        var textData = editor.getData();
        if(textData.length>0) return true;
        return false;
    	}, "No data in editor");
    Aufruf dann über: 'fieldName': "ckeditor"
    Hier komme ich dann ins Schleudern, weil ich nicht genau weiß, WOHIN denn die neue Klasse kommt. Einfach in ein Script-Tag oder in den Plugin-Code?

    3. Der nächste Streich: http://stackoverflow.com/questions/5...-with-ckeditor - ist im Preinzip das Gleiche wie Variante 1:
    Code:
    $("#submit").mousedown(function(){
      for (var i in CKEDITOR.instances){
        CKEDITOR.instances[i].updateElement();
      }
    });
    Der Code durchläuft ja einfach nur ALLE Instanzen, hab ich aber auch nicht hinbekommen.

    4. Gerade bin ich noch auf das gestoßen: http://cksource.com/forums/viewtopic.php?t=21084 ist mehr oder weniger auch der gleiuche Anstz wie 1 und 3 - die eigentliche Textarea wird beim abschicken auf den neusten Stand gebracht:
    Code:
    <script type="text/javascript">
    function validate_editor(){
    // To solve the error of using Ckeditor with jqury validation
    CKEDITOR.instances.content.updateElement();
    }
    </script>
    Aufruf der Funktion über onSubmit des Formulars.

    Ich bin jetzt ziemlich verwirrt und würde gerne einfach Ansatz 1 weiterverfolgen. Irgendwelche Anregungen oder Tipps?

    Grüße & Danke, max

Lädt...
X