1.之前遇到一个问题,在用js给某个控件赋值时如果含有单引号'或者双引号"有可能导致赋值不成功,如document.getElementById("txtTestBox1").value("12"32");会显示错误
这时就需要把单引号或双引号转义document.getElementById("txtTestBox1").value("12\"32");
2.同样如果在前台写控件时,控件有双引号或者单引号有可能就需要用到转义,但这时候就不是写成\"之类的了,需要用到单引号或者双引号对应的字符实体,
如动态写入一个控件,控件中有单引号 <input name='VariationValue1" + rowID + "' id='VariationValue1" + rowID + "' type='text' style='width:98px' value='sds'sds'/>; 单引号要替换成对应的字符实体' 在前台给控件赋值时只需要把单引号或双引号替换成对应的字符实体即可,其他字符如< > & 等字符不需要替换成字符实体,这些字符可正常显示
替换方法
function htmlEncode(str) {
var s = "";
if (str.length == 0) return "";
//给控件赋值时把双引号"和单引号'替换成对应的字符实体,否则可能造成赋值不成功
s = str.replace("\"", """);
s = s.replace("\'", "'");
return s;
}
关于html转义参考http://www.blogjava.net/linlin2005/archive/2010/09/07/331340.html
关于用Js转义参考http://www.tuicool.com/articles/uE7fQ3