在 Javascript 代码中使用流体有效,但在同一文件中无效
Using fluid in Javascript code work and no work in same file
我在流体模板的 Javascript 代码中使用流体变量。代码是:
<script type="text/javascript">
$(function () {
$('#{element.uniqueIdentifier}').datetimepicker();
/*Call AJAX*/
$('#{element.uniqueIdentifier}').change(function (event) {
.... //Other code lines
});
});
</script>
呈现的HTML是:
<script type="text/javascript">
$(function () {
$('#solicituddeAuditorios-repeatablecontainer-1_0_datetimepicker-2').datetimepicker();
/*Call AJAX*/
$('#{element.uniqueIdentifier}').change(function (event) {
.... //Other code lines
});
});
</script>
渲染时,第一个值被正确替换,但下一个值未正确替换,并在 javascript 中生成语法错误。我曾尝试使用一个变量来保存值,但在这种情况下 none 流体变量被替换;并使用 <![CDATA[ { ]]>
生成其他错误,其中转义 javascript 并仅显示变量。
我正在使用 TYPO3 8.7。
我认为你应该像这样包装你的代码:
<script type="text/javascript">
<![CDATA[var myUniqueElementIdentifier = "#" + ]]>{element.uniqueIdentifier}<![CDATA[;]]>
$(function () {
$(myUniqueElementIdentifier).datetimepicker();
/*Call AJAX*/
$(myUniqueElementIdentifier).change(function (event) {
.... //Other code lines
});
});
</script>
我不明白发生了什么,因为很多时候使用不同的解决方案作为普通流体键 ({}
) 或 <![CDATA
。在这种情况下,另一个可行的替代方法是使用 f:format.raw
流体标签
<script type="text/javascript">
$(function () {
$('#solicituddeAuditorios-repeatablecontainer-1_0_datetimepicker-2').datetimepicker();
/*Call AJAX*/
$('#<f:format.raw>{element.uniqueIdentifier}</f:format.raw>').change(function (event) {
.... //Other code lines
});
});
</script>
我在流体模板的 Javascript 代码中使用流体变量。代码是:
<script type="text/javascript">
$(function () {
$('#{element.uniqueIdentifier}').datetimepicker();
/*Call AJAX*/
$('#{element.uniqueIdentifier}').change(function (event) {
.... //Other code lines
});
});
</script>
呈现的HTML是:
<script type="text/javascript">
$(function () {
$('#solicituddeAuditorios-repeatablecontainer-1_0_datetimepicker-2').datetimepicker();
/*Call AJAX*/
$('#{element.uniqueIdentifier}').change(function (event) {
.... //Other code lines
});
});
</script>
渲染时,第一个值被正确替换,但下一个值未正确替换,并在 javascript 中生成语法错误。我曾尝试使用一个变量来保存值,但在这种情况下 none 流体变量被替换;并使用 <![CDATA[ { ]]>
生成其他错误,其中转义 javascript 并仅显示变量。
我正在使用 TYPO3 8.7。
我认为你应该像这样包装你的代码:
<script type="text/javascript">
<![CDATA[var myUniqueElementIdentifier = "#" + ]]>{element.uniqueIdentifier}<![CDATA[;]]>
$(function () {
$(myUniqueElementIdentifier).datetimepicker();
/*Call AJAX*/
$(myUniqueElementIdentifier).change(function (event) {
.... //Other code lines
});
});
</script>
我不明白发生了什么,因为很多时候使用不同的解决方案作为普通流体键 ({}
) 或 <![CDATA
。在这种情况下,另一个可行的替代方法是使用 f:format.raw
流体标签
<script type="text/javascript">
$(function () {
$('#solicituddeAuditorios-repeatablecontainer-1_0_datetimepicker-2').datetimepicker();
/*Call AJAX*/
$('#<f:format.raw>{element.uniqueIdentifier}</f:format.raw>').change(function (event) {
.... //Other code lines
});
});
</script>