如何在同一视图中从javascript函数返回值到django模板?



我只是通过javascript从输入标签获得一个值。但是现在我需要将这个值传递给同一页面上的Django模板来完成我需要的任务。

<!DOCTYPE HTML>
<HTML>
<body>
<h1>In Django Template</h1>
<input type="text" id="agency_id" name="fname" value="1">
<select class="select" name="delivery_agent" id="DeliveryAgent">
<option class="form-control" value="{{ agent.id }}" {% if agent.id == delivery_agency_id  %} selected="selected" {% endif %}>{{ agent.name }}
</option> {% endfor %}
</select>
<script>
var delivery_agency_id = document.getElementById("agency_id").value;
alert(delivery_agency_id )
</script>

在这里,我通过脚本获得agency_id。现在我需要像上面的代码一样把它传递给if条件。请帮我解决这个问题。

要从任何模板中赋值,在这个例子中是Django,你只需要插入它。就像

<script type="text/javascript"> 
var a = "{{someDjangoVariable}}";
</script>

Ref: Django模板变量和Javascript

如果你只需要比较值,你不需要将值传递回模板。如果要在HTML和JS中完成这个操作,你可以检查

https://jsbin.com/guvugipoji/edit?html、js、输出

重要部分

<select name="" id="deliveryAgent" onChange="checkValue()">

function checkValue() {
var sel = document.getElementById('deliveryAgent');
var val = sel.value;
if(val === "1") {
alert("found 1")
}
}

顺便说一句,如果你需要动态设置这部分if(val === "1") {,那么在模板引擎中设置这个值。

<script type="text/javascript"> 
var compareWith = "{{someDjangoVariable}}";
</script>

和下面的

if(val === compareWith) {

相关内容

  • 没有找到相关文章

最新更新