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...,然后就报错了。问题解决!
千里之行,始于足下
做自己热爱的工作,才能实现人生价值
热情在没有天赋的情况下,也能给予人巨大的力量