我正在尝试将值从html传递给函数但是当我这样做时我得到一个错误 - 引用错误:无法找到变量:“var value”。下面的代码我正在移除空格并用下划线替换它们然后尝试将其传递给名为onToDate的函数。
var theFunction2 = theFunction.replace(/ /g,"_");
$('#inserted').append('<div id="'+theFunction2+'"><li onclick="onToDate('+theFunction2+')"><img width="30px" height="25px" src="style/soccer.png"><div id="popupContactClose2">'+counted+'</div></img>'+ rs.rows.item(0)['playing']+'</li>');
onToDate只是提醒传递给它的值:
function onToDate(hello){
alert(''+hello+'');
console.log(''+hello+'');
}
这是我收到错误的地方。我真的没有发生什么事我以前用过这个并且工作正常。
任何帮助都会很棒,
由于
答案 0 :(得分:4)
onclick="onToDate('+theFunction2+');
变成了类似的东西:
onToDate(some_thing);
所以在上面的例子中,some_thing
是一个undefined
的变量,这意味着这是一个参考错误。
所以,
onclick="onToDate(\"'+theFunction2+'\");
应该解决它
答案 1 :(得分:1)
首先@IAbstractDownvoteFactor是对的。你应该修复onclick
definiton。
如果此代码在$(document).ready()
块中运行,则无法从该范围访问您的onToDate
函数。您的click
事件来自全局范围。你应该像这样定义它;
window.onToDate = function(hello){
alert(hello);
}
不需要那些单引号......