当使用ckeditor控件时,需要校验输入内容是否为空的一种解决办法(转帖)

(编辑:jimmy 日期: 2024/12/24 浏览:2)

fckeditor 验证内容是否为空 fckeditor Js验证表单
原来的代码代码如下
复制代码 代码如下:
<script language = "javascript">
<!--
function checkForm(){
if (document.form1.content.value==""){
alert("请输入内容!");
return false;
}
return true;
}
//-->
</script>
<form name="form1" method="post" action="" onsubmit="return checkForm();">
<FCK:editor id="content" basePath="fckeditor/" height="350" >
</FCK:editor>
<input type="submit" name="Submit" value="发布">
</form>

这样是我们写程序中最经常的写法 提交之前进行验证内容是否为空!
使用了编辑器以后 在第一次按提交按钮的时候 总是获取不到编辑器的值 内容已经输入 可是content并没有任何值!需要我们再次点提交按钮 content 才能获取到值!
对于这个问题 好多人都觉得困惑!有写是用JS去读取输入域中的HTML内容!可是这只对全JS版本的fckeditor 才有效果 对 JSP版本的 并不起作用!对于这样的状态 也只能怪fckeditor开发者了!而代码太多太麻烦 想要修改其核心谈何容易!
本人经过不断的测试 现得到一个方法可以解决次问题!先拿出来大家分享
改写代码如下
复制代码 代码如下:
<script language = "javascript">
<!--
function checkForm(){
setTimeout("SendForm()",50);
return false;
}
function SendForm(){
if (document.form1.content.value==""){
alert("请输入内容!");
return;
}
document.form1.submit();
}
//-->
</script>
<form name="form1" method="post" action="" onsubmit="return checkForm();">
<FCK:editor id="content" basePath="fckeditor/" height="350" >
</FCK:editor>
<input type="submit" name="Submit" value="发布">
</form>

修改成这样的目的是因为编辑器已经监视了onsubmit这个事件 是要在提交以后才把跟新的内容置入隐藏域content 中,原先的来不及置入内容便已经执行了验证事件所以当然取不到及时的内容!

//==============================================

以上内容为转帖,不过经过我实际工作的检验,有效。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?