Javascript onclick函数调用问题:won't传递字符串

Javascript onclick function call issue: won't pass a string

本文关键字:字符串 函数调用 onclick 问题 won Javascript      更新时间:2023-09-26

因此,我正在尝试创建一种在web映射应用程序上标记不适当内容的基本方法。在一个当用户点击某个点时为网络地图的侧边栏动态创建内容的函数中,我有一段代码,它应该生成一个标志的图像。

当用户点击标志时,我想运行函数flagContent,它应该向函数中传递一个url字符串。在这个职能范围内,我将能够稍后将其写入数据库(尽管我还没有做到这一点)。

以下是我一直在使用的一些代码片段

1.这就是生成标志图像的地方

content += "<p class='info'><img id='flag' onclick='flagContent(" + attachmentInfo.url + ")
'src='assets/flag.png' style='height:15px'>Flag as inappropriate...</p>";
  1. 这是连接的功能

    函数flagContent(imageUrl){console.log(imageUrl)}

所以基本上url是一个字符串,我希望能够在flagContent函数中操作它。不幸的是,我不能让它工作。当我传递一个数字参数(如attachmentInfo.objectID)时,我不会遇到同样的问题。

值得一提的是,我也得到了这个错误:

未捕获的SyntaxError:意外的令牌:

如有任何帮助,我们将不胜感激。如果有其他信息可以帮助解决这个问题,请告诉我。谢谢

我假设attachmentInfo.url会返回一个URL,它应该是一个字符串,只需要用引号括起来。由于您已经使用了这两种类型的引号,因此必须转义某些引号。

content += "<p class='info'>";
content += "<img id='flag' onclick='"flagContent('" + attachmentInfo.url + "')'" src='file.png'/>";
content += "Flag as inappropriate...";
content += "</p>";

这样做会使最终输出看起来像这样:

<p class='info'>
  <img id="flag" onclick="flagContent('http://example.com')" src='file.png'/>
  Flag as inappropriate...
</p>

你遇到的问题是URL没有被引号包围,它看到了flagContent(http://example.com),不知道该怎么处理那些不在字符串中的裸词。