我对代码中的一些函数感到非常沮丧。当用户点击链接时,我会触发一些功能
该参数已正确发送到这两个函数,但当用户单击detailplace
的链接时,我收到引用错误,SomeName
未定义。功能细节似乎没有问题。为什么detail
有效但detailplace
没有?
HTML
<a href="javascript:detail(123456);">Details</a>
<a href="javascript:detailplace(SomeName);">Details</a>
的Javascript
function detail(property) {
var summaryhtml = '<iframe src="' + URL + property + '" width="340px" height="400px" frameborder="0" class="sum_frame"></iframe>';
document.getElementById('itab1').innerHTML = summaryhtml;
}
function detailplace(place) {
var summaryhtml = '<iframe src="' + URL + place + '" width="340px" height="400px" frameborder="0" class="sum_frame"></iframe>';
document.getElementById('itab1').innerHTML = summaryhtml;
}
我接受了您的建议并编辑了代码以包含引号。问题是我在javascript中构建了链接。 SomeName在别处被定义为字符串。
link = '<a href="javascript:detailplace("';
link += SomeName;
link += '")";>Site Details</a>';
在引号内使用引号转义引号的正确方法是什么,以便将字符串作为参数发送?
答案 0 :(得分:2)
你必须用SomeName
包裹quotes
:
<a href="javascript:detailplace('SomeName');">Details</a>
如果您在没有引号的情况下传递javascript
,则认为它是undefined
的变量。
答案 1 :(得分:1)
SomeName
用作变量而不是字符串。你缺少报价。
<a href="javascript:detailplace('SomeName');">Details</a>
没有引号,它正在寻找一个名为SomeName
的变量,它将保存您要填充的地方的名称。知道我的意思吗?
答案 2 :(得分:1)
如果SomeName
不是先前定义的变量,但它是您要传递给方法的实际文字文本,则需要将其放在引号中。
javascript:detailplace('SomeName');