3

所以基本的纲要是我正在尝试创建一种基本的方法来标记我们的网络地图应用程序上的不适当内容。当用户单击某个点时,在为 webmap 的侧边栏动态创建内容的函数中,我有这段代码应该生成一个标志的图像。

当用户单击标志时,我想运行函数 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. 这是连接功能

    功能标志内容(imageUrl){console.log(imageUrl)}

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

对于它的价值,我也得到了这个错误:

Uncaught SyntaxError: Unexpected token :

任何帮助将不胜感激。让我知道是否有其他信息可以帮助解决此问题。谢谢!

4

1 回答 1

13

我假设这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)并且不知道如何处理那些不在字符串中的裸词。

于 2013-02-04T20:39:58.930 回答