100分技术问题,不会太难

ejooe 2005-08-08 01:40:45
我使用一个网上流传比较广的网站后台编辑器,但是该编辑器对提交的文字有字数限制,比如我提交的字数为几万字的时候就会出错,但是如果字数少的话就可以提交成功。

请高手分析代码,怎么去掉字数限制。

我觉得主要是一个叫做RTE.js的文件在起作用,代码比较长,我就不贴出来了,下载地址为:
www.sc.gz.cn/admin/jsinc/RTE.JS

如果光从这个文件还看不出来的话,这是一个使用该编辑器的网站,整站下载地址为:
down.chinaz.com/GO.asp?1427c2ae5318612505d68021fda96ca7c6a32e@031

多谢各位高手,小弟迫切等待中,如果快的话一定加分。

再次感谢!

...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
adandelion 2005-08-08
  • 打赏
  • 举报
回复
var strContent=document.frmEdit.txtContent0.value;
var nTrueSize=GetRealLength1(strContent);
//alert(nTrueSize);
if (nTrueSize>=500000)
{
alert ("内容太大超过了500KB");
return ;
}
var nTxtSize=5000;
for(i=0;i<10;i++)
{
eval("frmEdit.txtContent"+i+".value=strContent.substring("+i*nTxtSize+","+nTxtSize*(i+1)+");");
//eval("alert(frmEdit.txtContent"+i+".value.length);");
}

-----------------------------------------------------------------------
// 得到子节长度
function GetRealLength1(obj)
{
var regEx = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/;
if (regEx.test(obj))
{
return obj.length * 2;
} else {
var oMatches = obj.match(/[\x00-\xff]/g);
var oLength = obj.length * 2 - oMatches.length;
return oLength;
}
}
--------------------
<TR>
<TD colspan='4'>
<textarea name="txtContent0" id="txtContent0" style="display:none"><%=strContent%></textarea>
<iframe ID="editor" src="editor.asp" frameborder=1 scrolling=no width="600" height="405"></iframe>
</TD>
</TR>
<INPUT TYPE="hidden" name='txtContent1'>
<INPUT TYPE="hidden" name='txtContent2'>
<INPUT TYPE="hidden" name='txtContent3'>
<INPUT TYPE="hidden" name='txtContent4'>
<INPUT TYPE="hidden" name='txtContent5'>
<INPUT TYPE="hidden" name='txtContent6'>
<INPUT TYPE="hidden" name='txtContent7'>
<INPUT TYPE="hidden" name='txtContent8'>
<INPUT TYPE="hidden" name='txtContent9'>

楼主参考一下,这是我以前修改的.一开始所有内容都保存在txtContent0中的,保存按钮触发的时候先判断大小是否太大,若可以则,把内容赋予10个input.再保存的页面获得这10个input的值连接起来就可以了.
ejooe 2005-08-08
  • 打赏
  • 举报
回复
adandelion,JS里面我没有找到你说的最大值之类的代码。

你的分成10块的方法不错,但小弟我不知道如何实现,而且好像这个页面可能不能这样用,如果你有时间的话麻烦看一下那个整站的代码,看admin/admin_addinfo.asp文件中
<td valign="top">
<IFRAME STYLE="border: none" NAME=cnEditBox src="EditBox.asp" WIDTH=500 HEIGHT=400>
</IFRAME>
</td>
嵌入了EditBox.asp,这就是那个编辑器(叫做MSN Editor),然后在EditBox.asp中用到了RTE.js等文件。

谢谢。
adandelion 2005-08-08
  • 打赏
  • 举报
回复
我测试过的 一个表单元素,如:input type ="hidden",它最大只能保存2MB的值,楼主可以多设置几个这样的元素,在提交前把所得到的内容分成10块,每块保存1MB(这里的1MB包括了格式信息)
adandelion 2005-08-08
  • 打赏
  • 举报
回复
那你把JS的代码修改一下就可以了,把最大值设置的大一些.
这情况以前我也遇到过的.
peanutsun 2005-08-08
  • 打赏
  • 举报
回复
狂顶
ejooe 2005-08-08
  • 打赏
  • 举报
回复
不知hbhbhbhbhb1021说的是什么,如果是指页面里表单的提交动作的话,我的确用的是POST啊。
如果我理解错了你的意思,请详细赐教!
hbhbhbhbhb1021 2005-08-08
  • 打赏
  • 举报
回复
URL传值字数有限制的,最大不能超过256字节,你把他改成POST提交就好了

87,903

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧