javascript - 函数参数未定义

标签 javascript

我对代码中的几个函数感到非常沮丧。当用户点击链接时,我有几个函数会触发。
参数已正确发送到两个函数,但是当用户单击 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(&quot;';
link += SomeName;
link += '&quot;)";>Site Details</a>';

在引号内转义引号的正确方法是什么,以便我可以将字符串作为参数发送?

最佳答案

你必须用引号包裹SomeName:

<a href="javascript:detailplace('SomeName');">Details</a>

当你不带引号传递它时,javascript 认为它是 undefined 的变量。

关于javascript - 函数参数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703830/

相关文章:

Javascript 只运行警报

javascript - TypeError : $(. ..)[1].attr 不是函数

javascript - 什么更有效率 : listeners or functions in jquery

javascript - Ajax POST 到另一台服务器 - 克服跨域限制

javascript - ReactJS:运行函数以在没有交互的情况下从不同页面生成元素

javascript - 使用 jQuery mouseover 定位单个类的子实例

javascript - 页面上有两个谷歌图表?解决方案不起作用

JavaScript:使用时区将 UTC 时间转换为本地时间

javascript - 如果为空则删除 div 或appendChild

javascript - 动态创建按钮的点击事件