我有这段代码:
<img src="{$img_dir}/product_grid_view.png" class="pgrid" title="Grid View" onclick="document.getElementById('product_list').id = 'product_grid'; return false"></img>
<img src="{$img_dir}/product_list_view.png" class="plist" title="List View" onclick="document.getElementById('product_grid').id = 'product_list'; return false"></img>
以下代码运行良好并完成其工作,但主要问题是在刷新页面后它不会保留新值并保持恢复到默认值product_list
.tpl文件如下所示:<div id=product_list" class="clearfix">
。
对此事的任何建议都将不胜感激!
答案 0 :(得分:2)
如果您希望数据在页面刷新之间保持不变,那么您必须将其存储在持久性的位置。
这可能是可访问的客户端(例如在cookie中),然后在页面重新加载时根据数据重新应用更改。
或者,您可以使用Ajax通知服务器更改并让服务器将数据存储在某处(例如在数据库中),并在请求页面时根据该数据生成不同的数据。
(然而,id是动态改变的一个可怕的东西)。
答案 1 :(得分:1)
简答:不可能(至少,不像你的例子那样)。
Javascript是客户端,刷新页面时将在服务器端创建。
如果你真的想要这个,你应该保存值服务器端(使用AJAX)并在重新加载页面时使用此值。但是我真的不认为你只是想换掉id(这在一开始就很奇怪)。
答案 2 :(得分:0)
您正在做的事情只发生在客户端。它不会更改您的.tpl
文件。为了更新它,您应该在服务器上发送信息,例如使用ajax,并使用PHP将新的id保存到数据库中(据我所知,这是您正在使用的服务器端语言)并将其填入您的{ {1}}文件下次加载页面时。
同时 - 不清楚为什么需要以这种方式更改元素的ID。看起来你做错了什么。