smarty3与2的差异导致的小问题

又是一天看视频~

今天在PHP100上学习smartY教程,视频中讲到了在模板文件中直接写带有“{}”JAVASCRIPT脚本会报错,我照视频上的代码写了下来,如下:

 1 <script>
 2 function isblank(field){
 3     if(field.value ==''){
 4         return false;
 5     }else{
 6         document.loginform.submit();
 7         return true;
 8     }
 9 }
10 </script>

但写下来之后,却怎么也不见视频上那样显示错误的信息,脚本代码仍可以执行。纳闷了很久,突然想到视频中用到的是smarty2,而我下载用的是3,会不会是这里面的差别呢,于是百度smarty 2 、3差异,看到网上一篇文章

原文:http://minecz.blog.163.com/blog/static/12226148201032025849297/ 提到“

6) 被空白包围的分隔符将不被解析,如{ foo
}将不再作为smarty标签被解析,你必须使用{foo}

看到这里恍然大悟,再看看自己的那段JAVASCRIPT脚本代码 “{”后面紧跟着的不是制表符 就是空格换行,在SMARTY3中它们就不被解析了,所以才执行了JAVASCRIPT脚本。

把{后面空白符删了,成为{if...,然后就报错了。问题解决!

原文地址:https://www.cnblogs.com/zwl24/p/4298425.html