我希望在我的代码的html部分进行条件测试
HTML
<p class= "rep3" width="100" id="val1" data1={{ family }} style= "display:none;">{{ family }}</p>
<p class= "rep4" width="100" id="val2" data2="" style= "display:none;"></p>
{% if data2 == "general" %}
<a href="/one_category/all/">criteria1</a>
{% else %}
{% if data2 == "ceramic" %}
<a href="/one_category/ceramic/">criteria2</a>
{% else %}
<a href="/image3/">criteria</a>
{% endif %}
{% endif %}
的javascript
<script type="text/javascript">
$(document).ready(function() {
var element = document.getElementById('val1');
laval1 = element.getAttribute('data1');
var element2 = document.getElementById('val2');
element2.setAttribute('data2', laval1);
});
</script>
我在脚本中读取了data1 我想在data2中发送这些数据,然后再进行测试 但它不起作用
怎么做?
答案 0 :(得分:1)
此代码无法正常工作,因为:
在服务器中编译模板标签({%if data2 ==&#34; general&#34;%}等)很久之后,客户端就会运行JavaScript代码。
< / LI>您无法将数据从JS发送到django,就像data2一样。 (虽然你可以使用AJAX),但在这种情况下不需要。
为什么你不能做这样的事情,而不是依赖Javascript?
<p class= "rep3" width="100" id="val1" data1={{ family }} style= "display:none;">{{ family }}</p>
<p class= "rep4" width="100" id="val2" data2="" style= "display:none;"></p>
{% if family == "general" %}
<a href="/one_category/all/">criteria1</a>
{% else %}
{% if family == "ceramic" %}
<a href="/one_category/ceramic/">criteria2</a>
{% else %}
<a href="/image3/">criteria</a>
{% endif %}
{% endif %}