具有预定参数的Javascript onclick调用

时间:2018-07-25 11:08:01

标签: javascript salesforce visualforce

我希望有人可以帮助我解决这个问题。我不是一个Javascript程序员,所以我为此而感到困惑。

我目前正在编写一个新的Visualforce页面,以在Salesforce中用于我们的知识库。 VF支持大多数HTML函数(包括Javascript),因此我目前正在使用它来显示/隐藏文本主体的div容器,如下所示:

<button class="tablink orange" onclick="openSection(event,'basics')"><b>Basics</b></button>
<button class="tablink" onclick="openSection(event,'details')"><b>Details</b></button>
<button class="tablink" onclick="openSection(event,'cust')"><b>Customer</b></button>

然后使用下面的脚本显示每个div容器,分别称为“基本”,“详细信息”和“约束”(我从W3获得了此信息)。

function openSection(evt, articleName) {
var i, x, tablinks;
x = document.getElementsByClassName("article");
for (i = 0; i < x.length; i++) {
  x[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < x.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" orange", "");
}
document.getElementById(articleName).style.display = "block";
evt.currentTarget.className += " orange";
}

该位绝对可以正常工作,并且可以满足我的需求。但是,如果本文的“基本”部分包含指向“详细信息” div的超链接,我希望它先切换到“详细信息” div,然后再切换至该部分-这种想法:

<div id="detailslink">
<img alt="/" height="16" src="http://i1.adis.ws/i/washford/bullet" /> <a href="#Turbotrainer">What is a Turbo Trainer?</a><br />.....</div>

我遇到的问题是,知识库以以下方式填充Salesforce中的Rich Text字段,因此我无法对链接进行硬编码,而RTF确实接受一些HTML标签,例如class和id,但不能点击。

我想做的是在页面的开头放置一个onclick指令,该指令会在每个指向其的链接上调用一个类,并在其处于活动状态时被VF页面接受。但是,按如下所示修改代码无效。

document.getElementsById("detailslink")_
.addEventListener("click",openDetails);
function openDetails(event, "details") {
var i, x, tablinks;
x = document.getElementsByClassName("article");
for (i = 0; i < x.length; i++) {
   x[i].style.display = "none";
}
 tablinks = document.getElementsByClassName("tablink");
 for (i = 0; i < x.length; i++) {
  tablinks[i].className = tablinks[i].className.replace(" orange", "");
}
 document.getElementById("details").style.display = "block";
 evt.currentTarget.className += " orange";
}

请问有人可以做些什么吗?

0 个答案:

没有答案