晕,复制错了
<script language=Javascript>
<!--
function urlencode(str) {
        var ns = (navigator.appName=="Netscape") ? 1 : 0;
        if (ns) { return escape(str); }
        var ms = "%25#23 20+2B?3F<3C>3E{7B}7D[5B]5D|7C^5E~7E`60";
        var msi = 0;
        var i,c,rs,ts ;
        while (msi < ms.length) {
                c = ms.charAt(msi);
                rs = ms.substring(++msi, msi +2);
                msi += 2;
                i = 0;
                while (true)        {
                        i = str.indexOf(c, i);
                        if (i == -1) break;
                        ts = str.substring(0, i);
                        str = ts + "%" + rs + str.substring(++i, str.length);
                }
        }
        return str;
}
//-->
                  </script>

解决方案 »

  1.   

    把URL字符串上的空格等特殊字符转成相应的%20这类的字符串
      

  2.   

    这个是搜索部分的代码:
    烦请楼上的老哥可以详细解释一下,谢谢了
      <form onSubmit="window.location=this.kt.options[this.kt.selectedIndex].value+urlencode(this.k.value); return false;">
                            <td height="50">
                              <p align="center">
                                <input name="k" size="15" style="border: 1px dotted #42A5F7; ">
    &nbsp;&nbsp;  <select name="kt">
                                <option value="search.asp?type=soft&k=" selected>软件分类</option>
                                <option value="search.asp?type=info&k=">最新更新</option>
                                </select>
                                &nbsp;
                                  <input name="Submit" src="images/d_search.gif" type="image" value="Submit" width="37" height="21" align="absmiddle" border="0">
                            </td>
                          </form>
      

  3.   

    这段程序就是吧input的文本输入值和select的选择值组成一个链接地址,然后把当前地址换为那个地址
      

  4.   

    地址是选择框的value加上用户自己输入的东西
    而用户输入的经过编码把
    %# +?<>{}[]|^~`
    这些字符替换为自己的编码