0

我正在使用 XSLT 使用来自成员的 XML 数据创建一个 javascript 函数。如果可能的话,我希望能够从<script>模板中的元素执行此功能。

javascript函数是如何创建的:

<XSL:variable name="ScriptToAdd">
<script type="text/javascript" language="Javascript"> 
    <XSL:text>displayBigSuppPub('</XSL:text>
    <XSL:value-of select="$suppPubPath" />
    <XSL:text>', '</XSL:text>
    <XSL:value-of select="$member/multiplePubs/multiplePub/@name" />
    <XSL:text>');</XSL:text>
</script>
</XSL:variable>

<input type="hidden" id="scriptToAdd" value="{$ScriptToAdd}" />

当我检查源代码时,我可以在隐藏字段值中看到该 javascript 函数。

我的模板中有一个<script>元素用于在配置文件选项卡之间进行更改,并且我想在选择“宣传”选项卡时在隐藏字段中执行该功能。

if(sTab == "publicites") {
    scriptAdded = document.getElementById('scriptToAdd').value;
    alert(scriptAdded);
}

这在我更改为 Pubs 选项卡时有效,但我不知道如何以及是否可以执行此代码而不是使用警报(警报仅用作测试)。

我要执行的javascript函数:

displayBigSuppPub('getImage.php?path=resources/images/members/21214/Tulips.jpg&canvasWidth=640', 'Tulips.jpg');

此功能在与会员宣传上的 onclick 事件一起使用时可以正常工作。

4

1 回答 1

1

eval()应该做(但不是一个很好的解决方案)尝试:

if(sTab == "publicites") {
    scriptAdded = document.getElementById('scriptToAdd').value;
    eval(scriptAdded);
}

这与 xlst 无关,但无论如何。

如果您这样做,则不需要:

<script type="text/javascript" language="Javascript"> 
于 2013-06-17T16:50:35.000 回答