解决Django中checkbox复选框的传值问题


Posted in Python onMarch 31, 2020

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复选框的传值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
Python 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
python实现淘宝秒杀脚本
Jun 23 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Python基于traceback模块获取异常信息
Jul 23 Python
Django URL参数Template反向解析
Nov 24 Python
python代码实现图书管理系统
Nov 30 Python
Python urllib request模块发送请求实现过程解析
Dec 10 Python
python基础学习之生成器与文件系统知识总结
May 25 Python
Python文本文件的合并操作方法代码实例
Mar 31 #Python
Python调用接口合并Excel表代码实例
Mar 31 #Python
Python如何批量获取文件夹的大小并保存
Mar 31 #Python
Django使用list对单个或者多个字段求values值实例
Mar 31 #Python
django实现模板中的字符串文字和自动转义
Mar 31 #Python
Python使用graphviz画流程图过程解析
Mar 31 #Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 #Python
You might like
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
php下Memcached入门实例解析
2015/01/05 PHP
php图片添加水印例子
2016/07/20 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
JavaScript 创建对象
2009/07/17 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python中import机制详解
2017/11/14 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python实现FTP循环上传文件
2020/03/20 Python
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
档案室主任岗位职责
2014/02/12 职场文书
招标承诺书
2014/08/30 职场文书
六查六看剖析材料
2014/10/06 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
北京青年观后感
2015/06/15 职场文书
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技