我正试图从这段代码中调用JS函数:
"+myVar+"
该函数未被调用,似乎是因为{{1}}, 任何想法如何解决这个问题?
答案 0 :(得分:2)
您必须在引号中指定myVar
:
onclick='myFunc(\""+myVar+"\");'
解决方案说明
对于那些"天才"盲目地投票,甚至没有成为努力的一部分,谢谢。请找到解释:
这类似于PHP $$var
,类似于JavaScript的eval()
。
所以,这部分代码:
var myVar='sometext';
myVar = "<hr>"+var1+"</hr><table><tr><td><a href='#' onclick='myFunc("+myVar+");'>Show</a></td></tr></table>";
转换为HTML格式为:(注意:<hr>
代码无法使用内部HTML)
<hr>(var1-value)<table><tr><td><a href='#' onclick='myFunc(sometext);'>Show</a></td></tr></table>
但是这里发生的是,sometext
应该作为一个值而不是一个变量发送。
为此,我们需要以这种方式替换onclick
属性:
onclick='myFunc(sometext);' // Old
onclick='myFunc("sometext");' // New
为此,我建议的是:
onclick='myFunc(\""+myVar+"\");'
这应该有所帮助。
答案 1 :(得分:0)
也许这个决定适合你。祝你好运。
var myVar;
var myVar2 = 'options';
var var1 = 'Test';
myVar = "<hr>"+var1+"</hr><table><tr><td><a href='#' onclick='myFunc(myVar2);'>Show</a></td></tr></table>";
document.write(myVar);
function myFunc(opt){
alert(opt);
};
&#13;