从javascript获取变量,并将其转换为xsl
在我的.xsl文件中,我有以下代码:从javascript获取变量,并将其转换为xsl,javascript,xslt,extjs,Javascript,Xslt,Extjs,在我的.xsl文件中,我有以下代码: importantMsg = null; <script type="text/javascript"> $.getScript("std/lamFile.js").done(function(script, successOrFail, exept) { importantMsg = getMessage(); }); </script> isoNS.PanelQ<xsl:value-
importantMsg = null;
<script type="text/javascript">
$.getScript("std/lamFile.js").done(function(script, successOrFail, exept) {
importantMsg = getMessage();
});
</script>
isoNS.PanelQ<xsl:value-of select="@CHECKID"/>Pensl = new Ext.Panel
({<xsl:if test="@CHECKID=9051">
items: [
{
xtype: 'label',
id: 'attentionLabel',
width: 200,
style: 'margin: 100px 0px 0px 24%;',
text: importantMsg <---------------- variable goes Here
}
]
</xsl:if>
});
importantsg=null;
$.getScript(“std/lamFile.js”).done(函数(script,successOrFail,exept){
importantsg=getMessage();
});
isoNS.PanelQPensl=新的外部面板
({
项目:[
{
xtype:'标签',
id:“注意标签”,
宽度:200,
样式:“边距:100px 0px 0px 24%;”,
text:importantMsg我认为这与XSLT无关。XSLT正在生成javascript文本,但当javascript运行时,XSLT早已被遗忘。它们之间没有交互
我猜问题在于jquery函数$.getScript
函数是异步的,并且当前查看新Ext.Panel
的代码在$.getScript
完成之前运行。(在中显示警报时,这确实允许$.getScript
完成,因此它似乎可以工作)
解决方案可能是对语句重新排序,因此text
属性的设置由$.getScript
的回调函数完成
像这样的
importantMsg = null;
isoNS.PanelQ<xsl:value-of select="@CHECKID"/>Pensl = new Ext.Panel
({<xsl:if test="@CHECKID=9051">
items: [
{
xtype: 'label',
id: 'attentionLabel',
width: 200,
style: 'margin: 100px 0px 0px 24%;',
text: importantMsg <---------------- variable goes Here
}
]
</xsl:if>
});
<script type="text/javascript">
$.getScript("std/lamFile.js").done(function(script, successOrFail, exept) {
importantMsg = getMessage();
<xsl:if test="@CHECKID=9051">
isoNS.PanelQ<xsl:value-of select="@CHECKID"/>Pensl.items[0].text = importantMsg;
</xsl:if>
});
</script>
importantsg=null;
isoNS.PanelQPensl=新的外部面板
({
项目:[
{
xtype:'标签',
id:“注意标签”,
宽度:200,
样式:“边距:100px 0px 0px 24%;”,
文本:importantsg