是这样的,在我的页面中,我使用的是iframe标签来用于发表自己的动态,类似于说说之类,并且能够添加表情,但是我不知道如何才能把iframe中的文本内容和表情图片获取到,因为我要获取到这些内容然后存入数据表中,以便以后可以查找到这些记录,请各位大侠帮帮忙,现在我已经用js实现了在iframe中加入表情图片,,,请各位大侠帮忙,,谢谢了。。我在线等大家的回复哈,,谢谢。附上源码如下:<html>
 <head>
 <style>
 /* 定义表情框样式 */
 #face{
 table-cellspcing:1px;
 display:none;
 position:absolute;
 top:30px;
 left:100%;
 border:1px solid #aaa;
 background:#fff;
 }
 /* 定义编辑框样式 */
 #main{
 width:370px;
 height:150px;
 border:1px solid #ccc;
 position:absolute;
 }
 /* 定义编辑框中的工具条样式 */
 #main #toolbar{
 width:100%;
 height:30px;
 background:url(face/bg.gif) repeat-x; 
}
 /* 定义工具条中的链接样式 */
 #toolbar a{
 width:24px;
 height:24px;
 line-height:24px;
 text-align:center;
 text-decoration:none;
 color:#000;
 font-weight:bold;
 font-size:15px;
 float:left;
 }
 /* 定义工具条中的链接伪样式 */
 #toolbar a:hover{
 border-right:1px solid #aaa;
 border-bottom:1px solid #aaa;
 }
 </style>
</head>
<body>   
<div id='main'>
 <div id='toolbar'>
 <a href='javascript:void(0)' onclick='onEffect("Bold")'>B</a>
 <a href='javascript:void(0)' style='font-style:italic' onclick='onEffect("Italic")'>I</a>
 <a href='javascript:void(0)' style='text-decoration:underline' onclick='onEffect("Underline")'>U</a>
 <img width=24 height=24 src='face/00.gif' style='float:right;cursor:pointer;' onclick='showFace(this)'/>
 </div>
 <iframe allowTransparency='true' scrolling='auto' width='100%' height='122' src="" id='editor' frameBorder='0'>
 </iframe>
<table id="face">
<tr>
 <td><img src="face/0.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/1.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/2.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/3.gif" onclick="insertFace(this)" /></td>
</tr>   
<tr>   
 <td><img src="face/4.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/5.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/6.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/7.gif" onclick="insertFace(this)" /></td>
</tr>   
<tr>   
 <td><img src="face/8.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/9.gif" onclick="insertFace(this)" /></td>
 <td><img src="face/10.gif" onClick="insertFace(this)" /></td>
 <td><img src="face/11.gif" onClick="insertFace(this)" /></td>
</tr>   
<tr>   
 <td><img src="face/12.gif" onClick="insertFace(this)" /></td>
 <td><img src="face/13.gif" onClick="insertFace(this)" /></td>
 <td><img src="face/14.gif" onClick="insertFace(this)" /></td>
 <td><img src="face/15.gif" onClick="insertFace(this)" /></td>
</tr>
 </table>
 </div>
</body>
</html>
<script type="text/javascript">
 //定义编辑窗口引用
 var editPane = null;
 
//打开表情窗口
 function showFace(img){
 var face = document.getElementById("face");
 face.style.display="block";
 face.style.left = img.offsetLeft+img.offsetWidth-face.offsetWidth+'px';
 face.onclick = function(){face.style.display="none";};
 editPane.document.onclick = function(){face.style.display="none";};
 }
 
//插入图片
 function insertFace(img)
 {
 var image = "<img src='" + img.src + "' />";
 editPane.focus()
 editPane.document.execCommand('insertImage',false,img.src);
 }
 
//初始化编辑窗口
 (function()
 {
 editPane = document.getElementById("editor").contentWindow;
 editPane.document.designMode = 'on';
 editPane.document.contentEditable = true;
 editPane.document.open();
 editPane.document.close();
 })();
 
//改变效果
 function onEffect(effect)
 {
 editPane.document.execCommand(effect,false,null);
 }
</script>

解决方案 »

  1.   

    可以考虑用:
      var html = document.getElementById('editor').contentWindow.document.body.innerHTML;
      alert(html);
    不过,楼主你也许用些成熟的Web富文本框编辑控件会更好,比如:fckeditor 之类的
      

  2.   

       之后怎样将这写内容保存呢。我用那个request.getParameter("")不行,没有用好像....
      

  3.   

    你这个内容很长,要POST出去,服务器端才能 request.getParameter();可以用Ajax来POST,这个不会切换页面;或者直接做个隐藏表单来负责POST,这个会切换页面。<form id="myFormId" method="post" action="Servlet地址">
      <input id="paramHtml" name="xxoo" type="hidden" />
    </form>然后调用时就可以:
    document.getElementById("paramHtml").value=html; // 把你获得的HTML内容写入隐藏的input控件
    document.getElementById("myFormId").submit(); // 提交表单Servlet取参数就很简单了:request.getParameter("xxoo");