问题代码:用ajax获取文件unid及子表单名称,为何用substr从字符串中截取文件unid时有时截取的多,有时截取的少,如32位文件id有时只截取31位,有时超过35位,反正截取的字符串的结果不同,问题代码为红色处。警alert查看,用ajax获取的字符串是对的,用substr截取后就产生了上面说的问题,截取文档的unid有问题
var returnValue = xDoc.text ;
alert(returnValue);
if (fldWenJianBH.value!="")
{ document.all('fldSubject').value = returnValue.substr( 0,returnValue.indexOf("|docunid|") );
}else{ fldWenJianBH.value = returnValue.substr( 0,returnValue.indexOf("|docunid|") );}
document.all('sform').value=returnValue.substr( returnValue.indexOf("|docunid|")+9 ,returnValue.indexOf("|docunid|")+30);
document.all('sform').value = returnValue.substr( returnValue.indexOf("|sform|")+7 );
下面是调试时的截图:
------解决方案--------------------------------------------------------
参数写错了。
document.all('sform').value=returnValue.substr( returnValue.indexOf("
------解决方案--------------------------------------------------------
docunid
------解决方案--------------------------------------------------------
")+9 ,32);
------解决方案--------------------------------------------------------
substr一直用,从没出过问题。第二个参数是长度,你一楼的代码第二个参数不固定所以取值才不相同。