("HtmlEditer.tbContentElement.DOM.body.innerHTML=\""+content+"\";");要替换"为\"

解决方案 »

  1.   

    ("HtmlEditer.tbContentElement.DOM.body.innerHTML=\""+content.Replace("\"","\\\"")+"\";");或者替换"为'("HtmlEditer.tbContentElement.DOM.body.innerHTML=\""+content.Replace("\"","'")+"\";");
      

  2.   

    谢谢!我知道怎么弄了
    function win_load(){
     <%   
       if (!id.equals("")) {            
      out.print("HtmlEditer.tbContentElement.DOM.body.innerHTML=\""+content+"\";");                                                                     ~~ ~~~
       }
     %>
    }
    \" 改成'就好了不过有个地方很奇怪,有时候会无法显示,提示javascript出错,要刷新一下才行,是什么原因呢?
      

  3.   

    看哪行出错,估计是content换行了
    你还得把换行替换
    content = content.Replace("\r\n","")
      

  4.   

    数据输出时需要经过转化,例如显示为js字符串的内容,可以经过以下类里jsEncoder的方法转化。
    out.print("HtmlEditer...innerHTML=\""+content+"\";");
    ---->>>>
    out.print("HtmlEditer...innerHTML=\""+ CommStr.jsEncoder(content)+"\";"); /*
     * Created by Seamus
     * Updated on 2004-10-21 by JK
     *
     */
    package com.jk.util;public class  CommStr
    {
      /**
      *replace the old string to new string in the given destination string.
      */
      public static java.lang.String strReplace(java.lang.String destStr, java.lang.String oldStr, java.lang.String newStr)
      {
        if(destStr==null)
          return "";
        String tmpStr = destStr;
        int foundPos = tmpStr.indexOf(oldStr);
        while (foundPos>=0)
        {
          tmpStr = tmpStr.substring(0,foundPos) + newStr + tmpStr.substring(foundPos + oldStr.length(),tmpStr.length());
          foundPos = tmpStr.indexOf(oldStr,foundPos+newStr.length());
        }
        return tmpStr;
      }  /**
      *Encode for HTML.
      */
      public static String htmlEncoder(String str)
      {
        if(str==null || str.equals(""))
          return "";
        String res_str;
        res_str=strReplace(str,"<","&lt;");
        res_str=strReplace(str,">","&rt;");
        res_str=strReplace(str,"\"","&quot;");
        res_str=strReplace(str,"'","&#039;");
        return res_str;
      }  /**
      *Encode for HTML-Text.
      */
      public static String htmlTextEncoder(String str)
      {
        if(str==null || str.equals(""))
          return "";
        String res_str;
        res_str=strReplace(str,"<","&lt;");
        res_str=strReplace(str,">","&rt;");
        res_str=strReplace(str,"\"","&quot;");
        res_str=strReplace(str,"'","&#039;");
        res_str=strReplace(str," ","&nbsp;");
        res_str=strReplace(str,"\r\n","<br>");
        res_str=strReplace(str,"\r","<br>");
        res_str=strReplace(str,"\n","<br>");
        return res_str;
      }  /**
      *Encode for URL.
      */
      public static String urlEncoder(String str) {
        return java.net.URLEncoder.encode(str) ;
      }  /**
      *Encode for XML.
      */
      public static String xmlEncoder(String str)
      {
        if(str==null || str.equals(""))
          return "";
        String res_str;
        res_str=strReplace(str,"&","&amp;");
        res_str=strReplace(res_str,"<","&lt;");
        res_str=strReplace(res_str,">","&gt;");
        res_str=strReplace(res_str,"\"", "&quot;");
        res_str=strReplace(res_str,"\'", "&acute;");
        return res_str;
      }  /**
      *Encode for SQL.
      */
      public static String sqlEncoder(String str)
      {
        if(str==null || str.equals(""))
          return "";
        String res_str;
        res_str=strReplace(str,"'","''");
        return res_str;
      }  /**
      *Encode for Javascript.
      */
      public static String jsEncoder(String str)
      {
        if(str==null || str.equals(""))
          return "";
        String res_str;
        res_str=strReplace(str,"\\","\\\\'");
        res_str=strReplace(str,"'","\\'");
        res_str=strReplace(str,"\"","\\\"");
        res_str=strReplace(str,"\r\n","\\\n");
        res_str=strReplace(str,"\n","\\\n");
        res_str=strReplace(str,"\r","\\\n");
        return res_str;
      }}
      

  5.   

    Sorry,上面的代码有一行多了个单引号:    res_str=strReplace(str,"\\","\\\\'");--->>>
        res_str=strReplace(str,"\\","\\\\");