从隐藏字段执行javascript函数

时间:2013-06-17 16:44:56

标签: javascript xslt

我正在使用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选项卡但我不知道如何执行此代码而不是使用alert时(警报仅用作测试),这是有效的。

我想要执行的javascript函数:

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

当与成员的宣传上的onclick事件一起使用时,此功能可正常工作。

1 个答案:

答案 0 :(得分:1)

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

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

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

如果你这样做,就不需要:

<script type="text/javascript" language="Javascript">