這可能與Django,而不使用Javascript?如何在Django表單中顯示可選字段,當選中該複選框時?
-1
A
回答
2
您的意思是當檢查複選框時顯示可選字段?這在沒有Javascript的框架中幾乎是不可能的。您的簡單選項是使用JS根據複選框的狀態顯示可選字段,或者使複選框實際返回以重新加載顯示可選字段的不同版本的表單(並使複選框按照這種方式行爲JS)。
我想有可能將某些東西與CSS一起打包,但JS實際上更可靠 - 而且您可能仍然需要它來更改容器視圖的選擇器。
4
儘管不會有通用的瀏覽器支持,但在技術上可以使用一些CSS3技術。
根據表單的前綴(默認情況下爲'id',創建表單時可配置),您的字段將具有一個id,因此您可以使用標識符#id_field_name在css中設置表單元素的樣式。然後你可以使用一些CSS3 Selectors去你的領域,這樣的事情:
#id_checkbox_field ~ #id_hidden_field {display: none; }
#id_checkbox_field[checked] ~ #id_hidden_field { display: block; }
當然,你的選擇將取決於你的文檔結構有所不同。只有id_checkbox_field
和id_hidden_field
共享一個父級,tilda才能正常工作,但理論上可以設置文檔結構,以便使用CSS3完成此操作。如果你想要流暢的動畫,那就是technically possible,但不容易,也不是很好的支持。
正如pjmorse所說,替代方法是讓他們檢查框,提交表單,並讓它返回顯示的新字段。讓我知道,如果你想要幫助解決這個問題,這是一個蠕蟲的整體,但我懷疑你正在尋找什麼。
大多數情況下,當你想動態地做某些事情時,你想使用javascript。
相關問題
- 1. 當複選框被選中時,表單驗證爲空字段
- 2. 當使用icheck選中複選框時顯示錶單,js
- 3. 當複選框未選中時,如何在GridView中以灰色顯示該行?
- 4. 當複選框已被選中時如何顯示輸入框?
- 5. 複選框顯示/隱藏表單字段已選中/未選中
- 6. 如何使用django複選框顯示覆選框列表?
- 7. 當單擊複選框時,使用複選框將字段中輸入的值顯示到另一個字段
- 8. Django表單:複選框無值顯示
- 9. 我如何計算django表單中的複選框字段?
- 10. 當複選框被選中時在javascript中顯示消息
- 11. 當複選框被選中時顯示錶格行
- 12. 僅當選中複選框時才顯示列表
- 13. 當單選按鈕被選中時Rails顯示字段
- 14. 當複選框被選中/取消選中時如何隱藏/顯示內容?
- 15. 當單擊一個複選框時選中表格中的所有複選框
- 16. 當複選框被選中時顯示組合框 - Extjs
- 17. 當複選框被選中時顯示文本框控件
- 18. 當提交表單,如果該複選框未選中,顯示提示並阻止表單提交
- 19. 根據複選框值隱藏或顯示字段。如果選中複選框,則顯示標籤和字段(如果未選中)將其隱藏在playframework中
- 20. Django表單複選框,單選按鈕
- 21. Javascript - 選中複選框將值複製到表單字段
- 22. 當從選擇框中選擇特定選項時顯示輸入字段 - Ionic2
- 23. 如果選中複選框,顯示div
- 24. 顯示,如果複選框被選中
- 25. 如果未選中複選框,則不顯示覆選框值
- 26. 當複選框選中時,jQuery隱藏div,未選中時顯示
- 27. 在Jquery中勾選複選框時顯示提示框
- 28. 如何在選擇單個複選框時選中所有複選框
- 29. 清除輸入字段時複選框未選中複選框列表
- 30. 如何在Ext.grid.GridPanel中顯示覆選框?
感謝您的回答。提交表單不是一種選擇。您確認我沒有忽視Django選項。爲了遠離JavaScript,不是因爲我害怕它,我會跳過複選框並顯示一個可選字段。 – voscausa 2011-03-25 11:44:58
好主意。像Django這樣的框架是用於服務器端代碼的,一旦客戶端獲得它就不會影響頁面。 Django只會幫助您響應請求,例如頁面提交或異步JavaScript和xml(ajax)。如果你想在頁面加載後發生任何事情,你需要使用javascript或者等到CSS3有更好的支持。 :) – So8res 2011-03-25 17:58:07