GridSelectTree('../Utility/Searchckcode.asp?bz=0&fs=pf&dds='+document.all.ddyr.value+');
document.all.ddyr.value="好123+";
当这点这个GridSelectTree()函数后打开的页面为trim(Request("dds"))得到的值为:好123
这种情况怎么处理。

解决方案 »

  1.   

    客户端escape(document.all.ddyr.value);到后台直接request("dds")就可以了
      

  2.   

    用encodeURIComponent()加密后+号有了,但是里面的汉字却变成乱码了
      

  3.   

    LZ是怎么解码的?baidu就是用的encodeURIComponent
      

  4.   

    encodeURI(uri)可用性:ECMAScript v3描述:encodeURI()是全局函数,返回参数uri的编码副本。ASCII的字母、数字和标点符号“-_.!~*'()”不编码,此外由于encodeURI()的目的是给uri进行完整的编码,所以URI中具有特殊含义的ASCII标点符号“;/?:@&=+$,#”也不转义。uri中的其他字符都将转换成它的UTF-8编码,然后用十六进制的转义序列对生成的字符编码,并替换原有字符。如果使用该方法编码,应确保uri中不含有URI分隔符,如“?”和“#”。如果含有这些符号,应该用encodeURIComponent()方法。例子:document.write(encodeURI("#书签"));
    输出结果为:#%E4%B9%A6%E7%AD%BEdecodeURI(uri)可用性:ECMAScript v3描述:decodeURI()是一个全局函数,它返回参数uri解码后的副本。它将保留encodeURI()方法执行的编码操作。encodeURIComponent(uri)可用性:ECMAScript v3描述:encodeURIComponent()是全局函数,返回参数uri的编码副本。ASCII的字母、数字和标点符号“-_.!~*'()”不编码,像“?/:#”等这样用于分隔的标点符号,都由一个或多个十六进制的转义序列替代。例子:document.write(encodeURIComponent("#书签"));
    输出结果为:%23%E4%B9%A6%E7%AD%BEdecodeURIComponent(uri)可用性:ECMAScript v3描述:decodeURIComponent()是一个全局函数,它返回参数uri解码后的副本。它将保留encodeURIComponent()方法执行的编码操作。escape(s)可用性:ECMAScript v1描述:escape()是全局函数,它返回一个编码后的新字符串。ASCII的字母、数字和标点符号“@*_+-.\”不编码,其它字符都由一个或多个十六进制的转义序列替代。虽然ECMAScript的第一个标准版本标准化了escape()函数,但是ECMAScript v3反对使用该方法,并从标准中删除了它,应该用encodeURI()或encodeURIComponent()代替。unescape(s)可用性:ECMAScript v1描述:escape()是全局函数,对escape()函数编码的字符串解码。虽然ECMAScript的第一个标准版本标准化了unescape()函数,但是ECMAScript v3反对使用该方法,并从标准中删除了它,应该用decodeURI()或decodeURIComponent()代替。原文地址:http://blog.sina.com.cn/s/blog_680a81e10100jn2y.html