JAVASCRIPT的字符串不能跨行,你有两种修改方案,一种方法是可以用\N分隔每一行,比如修改为:
document.write('<table width=770border=0 cellpadding=0\n cellspacing=0>\n<tr>\n<td><imgsrc=../images/f_01.gif border=0 /></td>\n<td><imgsrc=../images/f_02.gif border=0 /></td>\n</tr>\n</table>');
另外一个方法,使用多个document.write输出语句,比如修改如下:
document.writeln('<tablewidth=770 border=0 cellpadding=0 ');document.writeln('cellspacing=0> ');
document.writeln('<tr> ');
document.writeln('<td><imgsrc=../images/f_01.gif border=0 /></td> ');
document.writeln('<td><imgsrc=../images/f_02.gif border=0 /></td> </tr> ');
document.writeln('</table>');
造成该错误,有三种解决方法:
1. 编码:网站尽量使用同一种编码,如utf-8或者gb2312;切勿两种代码混用。
2. JS文件代码尽量减少使用中文。
3. 页面之间的参数传送待用空格。
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascript” src=”xxx.js”charset=”UTF-8″>.xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.
2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
这种比较常见,往往在输出字符串时,出现单引号(’)或双引号(”)不配对,或者是在document.write()的时候,没有正确输出单引号(’)或双引号(”)
3.参数内出现HTML标记语言或包含换行符
我今天所遇到的是这种情况.因为我所得到的数据以参数形式传给一函数,结果该数据里包含换行符,造成了此错误.
如:一般测试时只使用单行的数据,是正常的,未出现这个错误,.
当测试时使用多行数据,并使用回车链换行,就出行了此错误.因为里面包含了换行符
- //替换所有的回车换行
- function TransferString(content)
- {
- var string = content;
- try{
- string=string.replace(/\r\n/g,"<BR>")
- string=string.replace(/\n/g,"<BR>");
- }catch(e) {
- alert(e.message);
- }
- return string;
- }