问题描述
我有一个使用字符串作为参数的javascript函数。 该字符串已编码(%20表示空格,%26表示“&”等)。
function myFunction(theParam) {
alert(theParam); // outputs &
}
// called by the following link
<a href="#" onclick='myFunction("%26")'>Do something</a>
如何停止这种行为? 我希望myFunction接收%26作为参数,而不是&符号……
1楼
bobince
1
已采纳
2010-07-06 14:17:34
您的示例向我发出了%26
警报。
(然后进入导航至#
。请记住,从点击处理程序return false
来停止跟踪链接。)
如果你在做它,你会得到一个与符号javascript:
链接:
<a href="javascript:myFunction('%26')">Do something</a>
作为javascript:
URL仍然是URL,并接受正常的URL转义规则。
当然,无论如何都不要使用javascript:
URL。
更好的是,从JavaScript本身进行赋值,这样您就不必担心HTML转义问题:
<a href="#" id="somethingdoer">Do something</a>
document.getElementById('somethingdoer').onclick= function() {
myFunction('%26');
return false;
};