我试图在指定的时间后使用javascript函数setTimeout隐藏错误消息div但是它给我错误,它是一个错误的smarty语法,我以前从未使用过smarty所以我真的很感激如果有人可以帮助我快速掌握这种语法
我的代码如下
{if $error_message != ""} <script type="text/javascript"> setTimeout(function(){$('error').hide(); }, 1000); </script> <div id="error" class='error_message'> {$error_message} </div> {/if}
提前致谢
答案 0 :(得分:2)
您需要为javascript使用smarty的literal
标记。它告诉聪明的编译器不要执行代码并保持原样。
http://www.smarty.net/docsv2/en/language.function.literal
为你的场景, 尝试,
{literal}
<script type="text/javascript">
setTimeout(function(){$('error').hide(); }, 1000);
</script>
{/literal}
答案 1 :(得分:1)
如果你想在模板的其他地方使用Smarty保留字符,如{和},就像使用内联JS一样,你必须使用literal-tag来逃避它。此外,如果你周围有一些空白,聪明意识到它不是一个聪明的标签而忽略它。
请参阅http://www.smarty.net/docs/en/language.function.literal.tpl