首页 > 代码库 > JS分段传输数据
JS分段传输数据
<SCRIPT language=javascript>
file://数据拆分,并放到相应的hidden域中,在Form的onSubmit事件中激发
function fnPreHandle()
{
var iCount; file://拆分为多少个域
var strData; file://原始数据
var iMaxChars = 50000;//考虑到汉字为双字节,域的最大字符数限制为50K
var iBottleNeck = 100000;//如果文章超过2M字,需要提示用户
var strHTML;//原始数据
strData = http://www.mamicode.com/frmTest.BigField.value;//如果文章实在太长,需要提醒用户
if (strData.length > iBottleNeck)
{
if (confirm("您要发布的文章太长,建议您拆分为几部分分别发布。\n如果您坚持提交,注意需要较长时间才能提交成功。\n\n是否坚持提交?") == false)
return false;
}iCount = parseInt(strData.length / iMaxChars) + 1;//hdnCount记录原数据域拆分为多少个子域
strHTML = "<input type=hidden name=hdnCount value="http://www.mamicode.com/+ iCount +">";//生成各子域的HTML代码
for (var i = 1; i <= iCount; i++)
{
strHTML = strHTML + "\n" + "<input type=hidden name=hdnBigField" + i + ">";
}//在Form中DIV(divHidden)内动态插入各hidden域的HTML代码
document.all.divHidden.innerHTML = strHTML;//给各子域赋值
for (var i = 1; i <= iCount; i++)
{
frmTest.elements["hdnBigField" + i].value = http://www.mamicode.com/strData.substring((i - 1) * iMaxChars, i * iMaxChars);
}//原数据域清空
frmTest.BigField.valuehttp://www.mamicode.com/= "";
}
</SCRIPT>
JS分段传输数据