在我的代码中,我从ldap搜索的输出创建了一个表,输出(以数组的形式)在第一列中。我想要做的是取决于点击的链接,在第二列中显示一些文本。我已经想出如何获得" Hello World"出现,但无论我选择哪个链接,它都会出现。有没有办法根据用户点击的链接进行文本更改?例如,如果用户单击链接1,则右列将显示" Hello"但如果用户选择链接2,则右栏显示" Goodbye"。我的想法是
If (link that's clicked text eq $textToMatch) {
print some text
}
这是我的代码:
if (($corpId ne "")&&($CorpIdResults eq "")) {
print "This user does not belong to any groups.";
} elsif ($CorpIdResults ne "") {
@splitarray = split(' ',$CorpIdResults);
print "Corp Id: " . $corpId;
print "<BR>";
print "<BR>";
print "This user is a member of the following groups:";
print "<BR>";
print "<TABLE border=22>";
foreach $tmp (@splitarray) {
print "<TR>";
$links = "<a href = 'javascript:testFunction()' id='groups' >$tmp \n</a><BR>";
print "<TD>$links</TD>";
}
print "<TD id='demo'></TD>";
print "</TR>";
print "</TABLE>";
}
希望我说得那么清楚。如果没有,请告诉我。
答案 0 :(得分:2)
要根据某些操作更改javascript函数的行为,您需要将其传递给变量。你可以通过让链接传递给自己的引用来在javascript中完成腿部工作:
<a href='#' onclick='testFunction(this); return false;'>Hello</a>
<a href='#' onclick='testFunction(this); return false;'>Goodbye</a>
然后,您可以在函数中使用此引用,例如:
function testFunction(link) {
var text;
if (link.innerHTML == "Hello") {
text = "Hello";
} else if (link.innerHTML == "Goodbye") {
text = "Goodbye";
}
document.getElementById('demo').innerHTML = text;
}
或者您可以在Perl中执行legwork并生成传递所需文本的链接:
<a href='#' onclick='testFunction("Hello"); return false;'>Hello</a>
<a href='#' onclick='testFunction("Goodbye"); return false;'>Goodbye</a>
然后直接在javascript中使用文本:
function testFunction(text) {
document.getElementById('demo').innerHTML = text;
}