您的位置: 首页好东西使用技巧 → Kindeditor IE10下无法提交数据到数据库

Kindeditor IE10下无法提交数据到数据库

我要评论 2013/05/23 00:00:00来源:互联网 编辑:当易小编 [ ] 评论:0 点击:2610次

Kindeditor IE10下无法提交数据到数据库

    最近帮客户开发网站的时候,后台的编辑器使用了kindeditor,但用户反应无法保存内容。他的环境是win7 IE10,我在XP IE9下测试可以提交数据,在win7 IE10环境下测试,确实有这个问题。因为在IE9下提交无故障,所以排除了服务器端脚本问题,于是问题就定位到网页的编辑器上。以下是调用编辑器的代码:

页面头部(<head></head>)代码:

<script type="text/javascript"  src="ke/kindeditor.js"></script>
<script src="ke/lang/zh_CN.js"></script>
<script>
        var editor;
        KindEditor.ready(function(K) {
            editor = K.create('#editor_id');
        });
  
  var editor = K.create('textarea[name="content"]', options);
  
  html = editor.html();
  // 同步数据后可以直接取得textarea的value
  editor.sync();
  html = document.getElementById('editor_id').value; // 原生API
  html = K('#editor_id').val(); // KindEditor Node API
  html = $('#editor_id').val(); // jQuery
  
  // 设置HTML内容
  editor.html('HTML内容');
</script>

编辑器展示部分代码:

<form method="post" name="myform" action="Modify.asp?mark=ok">
            <input type=hidden name=id value=<%=id%>>
            <td><div align="center">
                <table width="100%" border="0" cellspacing="1" cellpadding="0">
                  <tr bgcolor="#ECF5FF">
                    <td width="10%" height="25"> <div align="center">栏目名称:</div></td>
                    <td width="33%" height="25" bgcolor="#ECF5FF"> <input type="text" name="title" maxlength="30" size="25" value="<%=rs("Title")%>">
                    </td>
                    <td width="14%" bgcolor="#ECF5FF"><div align="center">排序号:</div></td>
                    <td width="12%" bgcolor="#ECF5FF"><input name="Aboutusorder" type="text" id="Aboutusorder" value="<%=rs("Aboutusorder")%>" size="4"></td>
                    <td width="12%" bgcolor="#ECF5FF"><div align="center">语言:</div></td>
                    <td width="19%" bgcolor="#ECF5FF"><select name="Language" id="Language">
                        <option <% if rs("Language")="1" then response.Write "selected" %> value="1">中文</option>
                        <option <% if rs("Language")="0" then response.Write "selected" %> value="0">英文</option>
                      </select></td>
                  </tr>
                  <tr bgcolor="#ECF5FF">
                    <td height="25" colspan="6"> <div align="center">栏目内容</div></td>
                  </tr>
                  <tr bgcolor="#ECF5FF">
                    <td height="300" colspan="6">  <textarea id="editor_id" name="content" style="width:700px;height:400px;visibility:hidden;"><%=Server.HTMLEncode(rs("Content"))%></textarea>
                    </td>
                  </tr>
                  <tr bgcolor="#ECF5FF">
                    <td height="25" colspan="6"> <div align="center">
                        <input name="submit" type="submit" value="确定">
                        &nbsp;
                        <input name="reset" type="reset" value="重置">
                      </div></td>
                  </tr>
                </table>
              </div></td>
          </form>

    kindeditor编辑器在提交数据的时,有一个将数据同步到文本区域的操作,而IE10无法提交数据,说明文本域(texarea)的内容是空的,空可能就是因为同步没有成功,于是在提交表单前,我加了一个手动同步的操作,结果还真成功了!

    具体是:在<form>中加了onsubmit="javascript:editor.sync();",即<form method="post" name="myform" action="Modify.asp?mark=ok" onsubmit="javascript:editor.sync();">

   希望您也能成功!

关键词:Kindeditor