2014-10-02 60 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 %}