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

时间:2023-03-09 04:55:55
smarty3与2的差异导致的小问题

又是一天看视频~

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

 <script>
function isblank(field){
if(field.value ==''){
return false;
}else{
document.loginform.submit();
return true;
}
}
</script>

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

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

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

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

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