亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

解決Django中checkbox復選框的傳值問題

瀏覽:2日期:2024-10-14 15:41:20

Django 中,html 頁面通過 form 標簽來傳遞表單數據。

對于復選框信息,即 checkbox 類型,點擊 submit 后,數據將提交至 view 中的函數。

我們通過request.POST.get() 函數來獲取來自 html 頁面的值,但是該函數只能 get 到選中的最后一個值。

因此想要傳遞選中的多個值,需要用 request.POST.getlist() 函數

該函數返回一個列表,可通過迭代來獲取列表中每一項的值。

補充知識:解決checkbox復選框選中傳值,不選中不傳值的方案

解決checkbox復選框選中傳值,不選中不傳值的方案

問題描述:

一個form表單中的結構是這樣的:

解決Django中checkbox復選框的傳值問題

則頁面顯示結果是:

解決Django中checkbox復選框的傳值問題

如上填寫數據,經過序列化后的數據是:

[{'id':'1','infoType':'11','infoName':'名稱1','fileIsOpen':'o'},{'id':'2','infoType':'12','infoName':'名稱2','fileIsOpen':'n'}]

從數據中明顯看書fileIsOpen字段的checkbox復選框選中則傳值是'o',未被選中則傳值是'n',其中這是錯誤的數據,因為被選中傳的值是on,也就是說checkbox復選框選中傳值,不選中不傳值。那么怎么解決不選中也傳值的問題呢?

解決方案:

我們可以設置隱藏域來代替checkbox復選框傳遞數據,具體的頁面修改如下:

解決Django中checkbox復選框的傳值問題

checkbox復選框對應的點擊事件:

解決Django中checkbox復選框的傳值問題

再次輸入相同的數據傳遞的數據是:

[{'id':'1','infoType':'11','infoName':'名稱1','fileIsOpen':'0'},{'id':'2','infoType':'22','infoName':'名稱2','fileIsOpen':'1'}]

從數據可以這次傳遞的數據是正確的

上述方案存在的問題

如果頁面什么不傳遞,

解決Django中checkbox復選框的傳值問題

則傳遞的數據是這樣的:

[{'fileIsOpen':'0'},{'fileIsOpen':'0'}]

因此后臺在接受到數據后需要判斷List集合中的對象的必選要素,如果不包含必傳要素,就算傳入上述數據也是不錄入數據庫的數據,則可以舍去這些數據。

以上這篇解決Django中checkbox復選框的傳值問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 成年人免费黄色片 | 成人午夜在线观看 | 午夜三级在线 | 妞干网中文字幕 | 亚洲小视频在线观看 | 国产成人高清亚洲一区久久 | 欧美制服丝袜在线 | 猫咪人成免费网站在线观看 | 高清性色生活片免费视频软件 | 免费久久久久 | 青青青国产在线手机免费观看 | 91国语精品自产拍在线观看性色 | 日一区二区 | 免费看a级黄色片 | 激情综合色五月丁香六月亚洲 | 欧美3p在线观看 | 日韩精品中文字幕视频一区 | 9ⅰ视频在线播放 | 美女的下部隐私网站99 | 日韩欧美三级在线 | 美国大片黄色 | 国产精品久久久久久爽爽爽 | 亚洲 欧美 清纯 校园 另类 | 美国黄色一级片 | 国产a一级毛片含羞草传媒 国产a三级三级三级 | 欧美一区二区在线观看免费网站 | 欧美精品国产第一区二区 | 亚州日韩| 亚洲麻豆精品果冻传媒 | 精品在线99 | 国产婷婷一区二区在线观看 | 日韩在线观看一区二区不卡视频 | 亚洲无吗| 成人免费一区二区三区 | 最新国产美女一区二区三区 | 1000部拍拍拍18免费网站 | 国产成人亚洲精品无广告 | 国产三级在线观看 | 免费毛片a| 91麻豆视频网站 | 亚洲狠狠婷婷综合久久蜜桃 |