2016-02-25 21 views
2

我试图将猫鼬ObjectID传递给函数在onclick()这是我的代码(简称为便于阅读):Mongoose ObjectID不能用作函数中的参数吗?

<a onclick="Like({{_id}}, {{likes}}, {{dislikes}});" class="btn btn-like"></a> 

<p id="{{_id}}"> {{likes}} likes </p> 

<script> 
    function Like(id, likes, dislikes){ 
    alert("This function worked! Likes: " + likes); 
    document.getElementById(id).innerHTML = likes + 1 
    } 
</script> 

预期这不起作用。当我点击“赞”按钮时,没有任何反应。我确实检查了按钮的页面元素,它显示为onclick="Like(56ce7a3161714811003ae5f7, 1, 0);"。这是应该显示的。

作为一个附注,如果我用100或任何数字替换{{id}},函数会正常运行并发出警报。所以我的问题是,你不允许在函数参数中有数字吗?或者是否有参数长度限制?谢谢你的帮助!

回答

3

你需要编辑: <a onclick="Like('{{_id}}', {{likes}}, {{dislikes}});" class="btn btn-like"></a> 由于_id是字符串,因此Like(56e7df....)是不同Like("56e7df...")。 随着Like(56e7df...),浏览器将编译56e7df作为变量而不是ID字符串

+0

非常感谢你!我会在8分钟内接受你的回答:) – dec0mpiled

相关问题