2014-10-02 66 views
0

我期待在我的代码Django的JavaScript的模板条件测试

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> 

我在剧本 我读数据1 HTML部分做条件测试想在data2发送这个数据,之后要做测试 但是不能正常工作

如何做到这一点?

回答

1

,因为这个代码将无法正常工作:

  • JavaScript代码是由客户端运行时,模板标签后不久({如果数据2 ==“一般”%}等)编译服务器。

  • 您不能像从data2那样将数据从JS发送到django。 (虽然你可以使用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 %}