2012-08-28 41 views
0

我正在用django構建一個電子商務網站,並且我想創建一個按鈕,表示訂單已經交付。使用html按鈕來更改數據的狀態

enter image description here

我敢肯定,你可以用一個複選框達致這,但我想用一個按鈕,因爲它會更容易使用平板電腦時,請單擊。

我希望按鈕也是「不可點擊的」,以防有人不小心點擊錯誤順序的按鈕。

我是否需要在html中創建表單?還是有更簡單的方法來做到這一點。

這是我的html:

Order page 

<table> 
    <tr> 
     <td>#</td> 
     <td>Name</td> 
     <td>Email</td> 
     <td>Phone</td> 
     <td>Order</td> 
     <td>Order Quantity</td> 
     <td>Delivered</td> 
    </tr> 

    {% for ord in orders %} 
     {% for food in ord.orderitem_set.all %} 

     <tr> 
      {% if forloop.counter == 1 %} 
       <td>{{ord.pk}}</td> 
       <td>{{ord.user.first_name}}</td> 
       <td>{{ord.user.email}}</td> 
       <td>{{ord.user.get_profile.phone}}</td> 

      {% else %} 
       <td colspan="4"></td> 
      {% endif %} 

       <td>{{food.name}}</td> 
       <td>{{food.quantity}}</td> 

      <td>{% if forloop.counter == 1 %} <button type="button">Delivered</button> {% endif %}</td> 
     </tr> 
     {% endfor %} 
    {% endfor %} 

</table> 


</body> 
</html> 
+0

你應該爲表示該按鈕狀態每行一個隱藏的輸入。使用您最喜愛的JavaScript庫切換按鈕文本從Delivered/Not,同時調整隱藏的輸入True/False –

回答

1

嗯,我想只是把一個表單按鈕周圍將是「更簡單的方法」 ^^

如果你想以後,你可以使它成爲一個漂亮的JavaScript切換使用幾乎相同的觀點代碼下面也許

eg在你的按鈕...

<form action="{% url show_orders %}" method="post"> 
    <input type="hidden" name="order-id" value="{{ ord.pk }}"/> 
    <input type="hidden" name="action=" value="toggledelivery"/> 
    <button type="button">{% if not ord.is_delivered %}Not {% endif %}Delivered</button> 
</form> 

那麼在您看來,像...

def show_orders(request): 

    if request.method == "POST": 
     order_id = request.POST.get('order-id', None) 

     # TODO toggle the order here 

     return HttpResponseRedirect(back_to_the_order_admin_page) 
    else: 
     # ...show the admin page 
+1

爲什麼是方法Get和不張貼? – anc1revv

+0

哎呀,哈哈...感謝指出, –

+0

當我點擊按鈕,它不做任何事情。我需要使按鈕成爲「提交」類型嗎? – anc1revv