开发者

validating FCKeditor

开发者 https://www.devze.com 2023-01-16 19:14 出处:网络
how can FCKeditor b开发者_开发技巧e validated for required field using javascript.Try this, var EditorInstance = FCKeditorAPI.GetInstance(\'message\') ;

how can FCKeditor b开发者_开发技巧e validated for required field using javascript.


Try this,

var EditorInstance = FCKeditorAPI.GetInstance('message') ; 
if(EditorInstance.EditorDocument.body.innerText.length<=0)
{
alert("This firld is mandatory");
EditorInstance.EditorDocument.body.focus();
return false;
}

Source:

http://dreamtechworld.wordpress.com/2008/12/06/validating-firld-in-fckeditor-using-javascript/


Use FireBug, and see what hidden textarea it is updating. Then check that element.

if (document.getElementById('fckinstance').innerHTML === '') {
    alert('required field');
}

That is just an example. It probably doesn't use an id like that either, because of multiple instances on the same page.

The textarea that FCKeditor replaces is probably the one that holds its HTML.

Note too, the FCKeditor can seem blank, even though there is HTML in it.


To Validate FCKeditor for being empty, create below function and call it whenever going to validate your editor containing TEXTAREA:

function FCKCopy() {
    for (var i = 0; i < parent.frames.length; ++i ) {
        if (parent.frames[i].FCK)
            parent.frames[i].FCK.UpdateLinkedField();
    }
}

Then add another function to Strip HTML tags from TEXTAREA's value:

function stripHTML(oldString) {
    var matchTag = /<(?:.|\s)*?>/g;
    return $.trim(oldString.replace(matchTag, ""));
}

In above function used jQuery's trim function. Use jQuery or replace it with some trimming function for java script such as:

function trimIt(text) {
    rwhite = /\s/;

    trimLeft = /^\s+/;
    trimRight = /\s+$/;

    if ( !rwhite.test( "\xA0" ) ) {
        trimLeft = /^[\s\xA0]+/;
        trimRight = /[\s\xA0]+$/;
    }

    return text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
}

Now you can check value of TEXTAREA for example as below:

if (stripHTML($('message').val()) == '') {
     alert('Please enter Message.');
}

Hope it will work as good as worked for me.

Have fun


this may be useful for someone

var EditorInstance = FCKeditorAPI.GetInstance('JobShortDescription');

alert(EditorInstance.GetHTML());

resource is http://docs.cksource.com/FCKeditor_2.x/Developers_Guide/JavaScript_API

0

精彩评论

暂无评论...
验证码 换一张
取 消