<script type="text/javascript">var Merit = new FCKeditor("Merit");Merit.Height="150";Merit.Width="500"; Merit.Value=<%=strMerit%>; Merit.BasePath="../FCKEDITOR/";Merit.Create();</script> 
现在程序里用的script 的方式创建FCKeditor,如上。我想通过Merit.Value=<%=strMerit%>; 的形式初始化FCKeditor的值,strMerit是我定义的一个java String类型变量,但是不成功。 是这种方式不对么?是否还有其他的创建FCKeditor的方法能初始化话其值的?

解决方案 »

  1.   

    直接对JS变量赋值Java值是有风险的。这是因为JS变量有可能是前台加载后创建的,而<%=%>在后台就产生了。产生后发现要引用这个对象的值不存在,当然不行了。
    一种方法是确保页面变量存在,
    如<input type="hidden" id="aa" value=<%=ddd%>/>然后fck.value=document.getElementById("aa").value;
    直接写脚本也行
    <script>
      var ss = <%=vvvv%>  //要确保ss不是在页面加载后才创建。
      fck.value==ss;
    <script>还有一种方法就是使用FCK针对Java的标签了,不必考虑上述问题:
    <FCK:editor instanceName="editorDefault" height="500px" />
    更多查API