加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

有关静态页生成问题 突破form数量限制

发布时间:2023-04-21 13:42:24 所属栏目:Asp教程 来源:
导读:我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:《不用模板只用ASP+FSO生成静态HTML页的一个方
我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:《不用模板只用ASP+FSO生成静态HTML页的一个方法》://www.Cuoxin.com/html/200609/984.htm,我试了一下,一般能办,但文件大时,就会出错,到底是什么原因呢?是textarea存储的文件有限制还是其他,反复上网查,同时在IECN发表帖子求助,我反复试验,发现是表单有限制,在网上找到了解决FORM的限制问题,
 
下面是转贴:
 
当表单发送的数据量很大时,就会报错。查阅msdn了解到,原因是微软对用request.form()可接收的最大数据有限制,iis4中为80k字节,iis5中为100k字节。
 
  下面是微软提供的几个解决方法:
 
1、用request.binaryread 代替 request.form方法 来解析表单数据;
 
2、使用文件上传方案,比如:microsoft posting acceptor;
 
3、由于102399字节的限制是对每个表单元素的,所以在提交时,把表单元素内容大于102399的分隔成多个表单元素来提交。
 
下面为示例代码:(微软提醒:下面代码不一定完全适用特定的需要,不对使用这些代码产生的后果负责!)
 
复制代码 代码如下:
 
<form method=post action=largepost.asp name=theform onsubmit="breakitup()">
 
<textarea rows=3 cols=100 name=bigtextarea>a bunch of text...</textarea>
 
<input type=submit value=go>
 
</form>
 
<script language=javascript>
 
function breakitup()
 
{
 
//set the limit for field size.
 
//如果内容有中文的字符的话,可以设置为:51100
 
var formlimit = 102399
 
//get the value of the large input object.
 
var tempvar = new string
 
tempvar = document.theform.bigtextarea.value
 
//if the length of the object is greater than the limit, break it
 
//into multiple objects.
 
if (tempvar.length > formlimit)
 
{
 
document.theform.bigtextarea.value = tempvar.substr(0, formlimit)
 
tempvar = tempvar.substr(formlimit)
 
while (tempvar.length > 0)
 
{
 
var objtextarea = document.createelement("textarea")
 
objtextarea.name = "bigtextarea"
 
objtextarea.value = tempvar.substr(0, formlimit)
 
document.theform.appendchild(objtextarea)
 
tempvar = tempvar.substr(formlimit)
 
}
 
}
 
}
 
</script>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章