我们正在尝试重定向到checkout.html页面,该页面需要在其参数中输入id才能访问,但我们正在尝试使用Javascript访问它。
In out store.html page
{% for item in product %}
<div class="col-md-3">
<div class="card" style="width: 90%; margin: 5px 5px;">
<a href="Product/{{item.id}}"><img src="{{item.image.url}}" class="card-img-top"></a>
<div class="cart-footer text-center">
<button onclick="redirect()">Order</button>
</div>
</div>
</div>
{% endfor %}
<script>
function redirect() {
var url = "{% url 'Checkout' %}";
var id = $(this).item('id');
window.location.href = url + "/" + id;
}
</script>
我们知道我们可以使用像
这样的常规按钮<button onclick="window.location.href='Checkout/{{item.id}}'">Order</button>
这是我们以前的方式,但我们正试图通过Javascript获得它以供将来使用如何在javascript中获得特定对象的id ?
urls . py
path('', views.Store, name= "Store"),
path('Checkout/<id>', views.createlocation, name="Checkout"),
path('Product/<id>', views.product_details, name="Product")
在你的模板中:
.
.
{{ item|json_script:"item_obj" }}
<button onclick="redirect()">Order</button>
.
.
在你的JS函数
function redirect() {
var url = "{% url 'Checkout' %}";
const item = JSON.parse(document.getElementById('item_obj').textContent);
window.location.href = url + "/" + item[id];
}
从doc
中签出这个例子