1

我正在开发一个 CRM 系统,该系统允许我在其界面中编写自定义 HTML 和 JavaScript,并且我可以通过使用哈希值来引用 CRM 变量(例如当前流程状态、日期等)#variable.variablename#。因此,我尝试编写以下 JavaScript,但问题是无论三个变量是否存在,都不会显示任何链接:

<script type="text/javascript">
if ( #variable.1# != null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div> }

if ( #variable.2# != null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>
}

if ( #variable.3# !=null) {
<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>
}

</script>

可能是什么问题?

4

3 回答 3

2

我会客串#variable.1#(2 和 3)的内容不是有效的 javascript。也许您需要将它们括在引号中,例如"#variable.1#"

此外,您需要document.writehtml - 您不能只是将其放在一条线上并期望出现。

<script type="text/javascript">
var html = '';
if ( "#variable.1#" != null) {
    html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div>'
}

if ( "#variable.2#" != null) {
    html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>'
}

if ( "#variable.3#" !=null) {
    html += '<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>'
}

document.write(html);

此外,考虑使用“查看源代码”( Firefox 上的Ctrl+ U)来查看您构建的实际 Javascript。

于 2012-11-29T09:04:41.303 回答
1

这些是无效的 JS 语句。要将内容写入文档,请使用document.write

document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#">View Page</a></div>');
于 2012-11-29T09:04:28.397 回答
0

尝试将您的 CRM 变量括在单引号中,以便它们在 javascript 中被解释为字符串类型,并用于document.write编写 html 内容,如下所示:

if ( '#variable.1#' != null) {
   document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.1#" >View Page</a></div>');
}
if ( '#variable.2#' != null) {
   document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.2#" >View Page</a></div>');
}

if ( '#variable.3#' !=null) {
   document.write('<div><a href="/Service1.svc/vf/img?imgid=5#variable.3#" >View Page</a></div>');
}
于 2012-11-29T09:04:44.993 回答