这是一个非常简单的Javascript功能,但我无法实现它。当我试图将参数传递给onclick方法时,如下所示:
<td><b><div id=linkInstall><a href="#" target=_self onClick="show(' + reports + ')" class=right>ABC</a></div></b></td>
show((函数处理";报告";作为字符串而不是变量。这里报告是一个包含一些值的变量。然后我尝试按如下逃离字符串
<td><b><div id=linkInstall><a href="#" target=_self onClick="show('' + reports + '')" class=right>ABC</a></div></b></td>
然后它抛出以下错误:
Uncaught SyntaxError: Invalid or unexpected token
那么,在这种情况下出了什么问题呢?我应该如何传递变量而不是字符串?
谢谢。
由于您说过使用Django和HTML,我认为错误在于模板语法。尝试在大括号内传递变量。
示例:
<td>
<b>
<div id=linkInstall>
<a href="#" target=_self onClick="show({{ reports }})" class=right>ABC</a>
</div>
</b>
</td>
请注意,您需要使用TemplateResponse
将变量作为参数传递给模板
from django.template.response import TemplateResponse
def page_name(request, template_name="myapp/inculdes.html"):
args = {}
text = {"data":"data"}
args['reports'] = text
return TemplateResponse(request, template_name, args)