如何使用javascript验证FCKeditor的必填字段。
答案 0 :(得分:2)
试试这个,
var EditorInstance = FCKeditorAPI.GetInstance('message') ;
if(EditorInstance.EditorDocument.body.innerText.length<=0)
{
alert("This firld is mandatory");
EditorInstance.EditorDocument.body.focus();
return false;
}
<强>来源:强>
http://dreamtechworld.wordpress.com/2008/12/06/validating-firld-in-fckeditor-using-javascript/
答案 1 :(得分:1)
使用FireBug,查看它正在更新的隐藏textarea
。然后检查该元素。
if (document.getElementById('fckinstance').innerHTML === '') {
alert('required field');
}
这只是一个例子。由于同一页面上存在多个实例,它可能也不会像id
那样使用它。
FCKeditor替换的textarea
可能是保存其HTML的那个。
另请注意,FCKeditor可以看起来为空白,即使其中有HTML。
答案 2 :(得分:1)
要验证FCKeditor是否为空,请创建以下函数并在验证包含TEXTAREA的编辑器时调用它:
function FCKCopy() {
for (var i = 0; i < parent.frames.length; ++i ) {
if (parent.frames[i].FCK)
parent.frames[i].FCK.UpdateLinkedField();
}
}
然后添加另一个函数来从TEXTAREA的值中删除HTML标记:
function stripHTML(oldString) {
var matchTag = /<(?:.|\s)*?>/g;
return $.trim(oldString.replace(matchTag, ""));
}
在上面的函数中使用了jQuery的trim函数。使用jQuery或将其替换为java脚本的一些修剪功能,例如:
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, "" );
}
现在您可以检查TEXTAREA的值,例如如下:
if (stripHTML($('message').val()) == '') {
alert('Please enter Message.');
}
希望它能像我一样有效。
玩得开心
答案 3 :(得分:0)
这可能对某人有用
var EditorInstance = FCKeditorAPI.GetInstance('JobShortDescription');
alert(EditorInstance.GetHTML());
资源是http://docs.cksource.com/FCKeditor_2.x/Developers_Guide/JavaScript_API