晕,复制错了
<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>
<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>
烦请楼上的老哥可以详细解释一下,谢谢了
<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; ">
<select name="kt">
<option value="search.asp?type=soft&k=" selected>软件分类</option>
<option value="search.asp?type=info&k=">最新更新</option>
</select>
<input name="Submit" src="images/d_search.gif" type="image" value="Submit" width="37" height="21" align="absmiddle" border="0">
</td>
</form>
而用户输入的经过编码把
%# +?<>{}[]|^~`
这些字符替换为自己的编码