在html中,有php通过smarty传递过来的一个变量,比如用户的性别(sex),如果是男性我会用js去做一些操作。如果是女性则会去做另一些操作。一般的写法如下:
<script type='text/javascript' >
<{ if $sex == 'male'}>
var xxxx=123;
do_some_thing(); //可能操作比较复杂
<{ else }>
var yyyy=456;
do_other_thing(); //可能操作比较复杂
<{ /if }>
</script> 但是在html里面直接写js很影响页面的加载。
不知道有没有别的办法去执行那段js。而且那段js里有smarty变量,对js的修改和维护带来的不少的麻烦。
想过把sex这个变量用<input type='hidden' id=user_sex value='<{$sex}>' /> 来存储,然后需要的时候再document.getElementById('user_sex'): 。但是哪一天这个sex变量名称变了,或者取消了,那还得去搜索出input元素,然后把它删掉,这样觉得很别扭。
不知道大牛们有啥好的方法。
<script type='text/javascript' >
<{ if $sex == 'male'}>
var xxxx=123;
do_some_thing(); //可能操作比较复杂
<{ else }>
var yyyy=456;
do_other_thing(); //可能操作比较复杂
<{ /if }>
</script> 但是在html里面直接写js很影响页面的加载。
不知道有没有别的办法去执行那段js。而且那段js里有smarty变量,对js的修改和维护带来的不少的麻烦。
想过把sex这个变量用<input type='hidden' id=user_sex value='<{$sex}>' /> 来存储,然后需要的时候再document.getElementById('user_sex'): 。但是哪一天这个sex变量名称变了,或者取消了,那还得去搜索出input元素,然后把它删掉,这样觉得很别扭。
不知道大牛们有啥好的方法。
2. 隐藏域你干嘛要把它删掉啊,还有什么叫需要的时候啊,,你担心的太多了。
是影响美观吧如果哪一天这个sex变量名称变了,你的代码当然要改。不管用什么你也得改代码啊
sex存在, js存, sex不存在, js不存在.
<script type='text/javascript' >
<{ if $sex == 'male'}>
<{ if $sex == 'male'}>
<script type='text/javascript' > var xxxx=123;
do_some_thing(); //可能操作比较复杂
<{ else }>
var yyyy=456;
do_other_thing(); //可能操作比较复杂
<{ /if }>
</script>
</script>
<{ /if }>