-
2018-08-03 16:38:19
Django 中,html 页面通过
form
标签来传递表单数据。
对于复选框信息,即 checkbox 类型,点击 submit 后,数据将提交至 view 中的函数。我们通过
request.POST.get()
函数来获取来自 html 页面的值,但是该函数只能 get 到选中的最后一个值。
因此想要传递选中的多个值,需要用request.POST.getlist()
函数
该函数返回一个列表,可通过迭代来获取列表中每一项的值。更多相关内容 -
解决Django中checkbox复选框的传值问题
2021-01-20 01:49:57Django 中,html 页面通过 form 标签来传递表单数据。...补充知识:解决checkbox复选框选中传值,不选中不传值的方案 解决checkbox复选框选中传值,不选中不传值的方案 问题描述: 一个form表单中的结 -
jQuery+SpringMVC中的复选框选择与传值实例
2020-11-26 20:15:182、当下面的复选框全部选中时,则将第一个复选框设置为选中,当下面的复选框中有一个没有被选中时,则第一个复选框取消选中; 3、将下面的复选框的id值传递给Controller层,组成id数组,然后调用相应的方法(一般都... -
HTML页面中复选框的操作方法
2020-12-13 19:31:24复选框在网页中很是常见,无论是电商网站,还是平台,只有有需要选择的地方就会见到复选的身影。接下来,是我之前写过的两个小demo,都是关于复选框的,希望会给大家带来帮助。 第一个是关于复选框全选反选的操作,... -
解决checkbox复选框选中传值,不选中不传值的方案
2018-11-02 18:28:06解决checkbox复选框选中传值,不选中不传值的方案 问题描述: 一个form表单中的结构是这样的: 则页面显示结果是: 如上填写数据,经过序列化后的数据是: [ {"id":"1","...解决checkbox复选框选中传值,不选中不传值的方案
问题描述:
一个form表单中的结构是这样的:
则页面显示结果是:
如上填写数据,经过序列化后的数据是:
[
{"id":"1","infoType":"11","infoName":"名称1","fileIsOpen":"o"},
{"id":"2","infoType":"12","infoName":"名称2","fileIsOpen":"n"}
]
从数据中明显看书fileIsOpen字段的checkbox复选框选中则传值是"o",未被选中则传值是"n",其中这是错误的数据,因为被选中传的值是on,也就是说checkbox复选框选中传值,不选中不传值。那么怎么解决不选中也传值的问题呢?
解决方案:
我们可以设置隐藏域来代替checkbox复选框传递数据,具体的页面修改如下:
checkbox复选框对应的点击事件:
再次输入相同的数据传递的数据是:
[
{"id":"1","infoType":"11","infoName":"名称1","fileIsOpen":"0"},
{"id":"2","infoType":"22","infoName":"名称2","fileIsOpen":"1"}
]
从数据可以这次传递的数据是正确的
上述方案存在的问题
如果页面什么不传递,
则传递的数据是这样的:
[
{"fileIsOpen":"0"},
{"fileIsOpen":"0"}
]
因此后台在接受到数据后需要判断List集合中的对象的必选要素,如果不包含必传要素,就算传入上述数据也是不录入数据库的数据,则可以舍去这些数据。
参考文章:
https://blog.csdn.net/zr15829039341/article/details/78998176
https://blog.csdn.net/wangrongfei136/article/details/50211261
https://blog.csdn.net/xyanghomepage/article/details/37562179
-
PHP(2)复选框表单传值
2020-11-15 11:07:39PHP(2)复选框表单传值 复选框:通常是将一类内容以同样(同名)的形式传递给后台,数据库储存通常是一个字符储存。选中才会提交,不选不会提交。 <!DOCTYPE html> <html> <head> <title&...PHP(2)复选框表单传值
复选框:通常是将一类内容以同样(同名)的形式传递给后台,数据库储存通常是一个字符储存。选中才会提交,不选不会提交。
<!DOCTYPE html> <html> <head> <title>"测试"</title> <meta charset="utf-8"> </head> <body> <form method="post" action="./index.php?"> <input type="checkbox" name="hobby" value="basketball"/>basketball <input type="checkbox" name="hobby" value="football"/>football <input type="checkbox" name="hobby" value="pingpang"/>pingpang <input type="submit" value="提交"/> </form> </body> </html>
<?php //接收数据 echo'<pre>'; var_dump($_GET);//get方式提交的数据 echo'<hr>'; var_dump($_POST);//post方式提交的数据 echo'<hr>'; var_dump($_REQUEST); ?>
我们选中了两个,后台却只提交了一个,是因为键值对中的关键值具有唯一性,两个选项的name属性相同,后面的会将前面的覆盖。
复选框的命名方式
1.在浏览器端,checkbox的name属性的值不论什么都会被浏览器毫无保留的提交
2.在PHP中$_POST、$_GET都会对同名的name属性进行覆盖。
解决方案
浏览器不认为[](浏览器不认为有特殊性),但是PHP认为[]有特殊性,系统自动认为该符号时数组的形式,所以PHP就会自动的将同名的但是带有[]的元素组合到一起形成一个数组。<!DOCTYPE html> <html> <head> <title>"测试"</title> <meta charset="utf-8"> </head> <body> <form method="post" action="./index.php?"> <input type="checkbox" name="hobby[]" value="basketball"/>basketball <input type="checkbox" name="hobby[]" value="football"/>football <input type="checkbox" name="hobby[]" value="pingpang"/>pingpang <input type="submit" value="sub"/> </form> </body> </html>
<?php //接收checkbox数据 header('Content-type:text/html;charset=utf-8');//告诉浏览器当前服务器返回的内容是text/html,同时需要浏览器用utf-8字符集解析 echo'<hr>'; var_dump($_POST); ?>
PHP处理复选框数据
1、单选按钮的数据处理
Radio button:可以出现多个选项,但是只能选择其中一个
(1)表单中使用name属性,使用同名即可;只能选中一个。
(2)后台接收数据也不需要额外处理。
(3)数据库储存的话只需要一个字段储存普通数据即可(数字或者字符串)
(4)PHP拿到数据之后组织SQL直接储存到数据表即可。
2.多选框的数据处理
· (1)表单中name属性使用数组格式,名字[](一类复选框数据使用一个)。
(2)后台接收到数据之后,是一个数组(数组不能储存到数据库)。
(3)PHP需要将数组转换成指定格式的字符串;使用分隔符分隔每一个元素并且形成字符串。
implode(数组,‘分隔符’),将数组转化为字符串,元素之间分隔符分隔。
(4)PHP组织SQL直接存储到数据库。<?php //将复选框内容储存到数据库 //表示设计 /* id name gender hobby 1 mark 男 篮球,足球,乒乓球 */ header('Content-type:text/html;charset=utf-8'); $hobby=implode($_POST['hobby'],','); print_r($hobby); ?>
(5)如果是取出操作,那么取出数据之后使用explode字符串变成数组。
(6)在HTML显示中,通过判断复选框元素是否在数组中存在,来确定复选框checkbox是否有checked=“checkbox”属性;in_array()函数判断一个元素是否存在在一个数组中。
3、其他常规同名表单项的数据处理
(1)除开radio button 单选框和checkbox复选框,很少会出现同名的表单项。如果非要使用同名的来进行管理,那么可以采用checkbox方式进行操作。复选框细节
如果复选框没有选中,那么浏览器就不会提交,这样会引起错误,因此在PHP接收使用数据的时候,应该先判断是否存在该数据。
可以使用isset()函数判断不为空。<?php //将复选框内容储存到数据库 //表示设计 /* id name gender hobby 1 mark 男 篮球,足球,乒乓球 */ header('Content-type:text/html;charset=utf-8'); $hobby=isset($_POST['hobby'])?$_POST['hobby']:array(); $hobby_string=implode($hobby,','); echo $hobby_string; ?>
-
HTML复选框传递所有选定的内容值
2021-06-13 04:01:41我有一个表单将值传递给...HTML复选框传递所有选定的内容值HTML:Order IdChannelDispatch By DateAmountStatusProducts{% for oid,oiid,dbd,stts,tp,sku,qty,chnl in new_orders %}{{oid}}{{oiid}}{{chnl}}{{db...我有一个表单将值传递给django视图。
在表格中有一个带有复选框的动态生成表格。HTML复选框传递所有选定的内容值
HTML:
Order IdChannelDispatch By DateAmountStatusProducts
{% for oid,oiid,dbd,stts,tp,sku,qty,chnl in new_orders %}
{{oiid}}{{chnl}} {{dbd}}{{tp}}{{stts}}{{sku}}Quantity: {{qty}}{% endfor %}
我传递的3个值回我的看法。 oid, oiid, chnl。 问题是,如果我选择了一些元素而不是全部,那么所有oid的值都会传递给那些元素,但是oiid和chnl的值都会被传递。
我的javascript:
function toggle(source, text) {
checkboxes = document.getElementsByName(text);
for(var i=0, n=checkboxes.length;i
checkboxes[i].checked = source.checked;
}
}
如何通过只有被选择的全部三个变量的值?
+0
所以...我的回答对你有帮助吗? –
-
多选框checkbox传值给后台用string,和string[]接收效果不同
2021-06-11 02:27:59多选框checkbox传值给后台用string,和string[]接收效果不同当后台用String[]接的时候,会类似list分列当后台用Stirng接的时候就是混在一起的字符串交易品种 ${item.LOOKUP_NAME}品种 checked="checked" />... -
HTML下拉列表(select),单选框(radio), 复选框(checkbox)如何向后端传值
2022-04-12 12:36:10提示:该文章记录前端往后端传值的一些细节 提示:以下是本篇文章正文内容,下面案例可供参考 一、form是什么? form是前端往后端传值的一个表单 二、html代码如下 1,下拉列表源码 <!DOCTYPE html> &... -
怎么实现复选框的级联,需要和后端进行json数据的传输,比如地址的选择?
2021-06-11 15:09:06function getArea(id,p){//初始化ajaxvar xhr = new XMLHttpRequest();var url = "";var sel=document.getElementById("sheng");//打开请求xhr.open("get",url,true);//发送数据xhr.send(null);... -
前端获取checkbox复选框的值 通过数组形式传递
2021-06-11 15:09:04html代码:应用一组{% for peopel_1 in peopels_1 %}{{ peopel_1.name }}{% endfor %}应用二组{% for peopel_2 in peopels_2 %}{{ peopel_2.name }}{% endfor %}提交js代码:1 获取已选中的名字并放到数组中var name... -
angularjs实现复选框赋值传参提交表单
2021-07-19 17:50:15//拼接复选框的选中或非选中值 self.choiseBox = function($event,itemcode) { //验证是取消还是添加 if($event.target.checked){ //选中,那就去追加 $scope.formData.push({ itemcode:itemcode }); }else{ ... -
checkbox复选框的post传值
2015-08-07 10:54:15php获取 checkbox复选框值的方法 复选一 复选二 复选三 复选四 if( $_POST ) { $value = $_POST['... -
springboot+thymeleaf 复选框及内容处理
2022-01-26 23:22:15前端页面设置代码: <td> <!--多选框--> <input type="checkbox" name=...在后端对于复选框的参数及内容处理,获得复选框中选中内容办法: /* 车位信息批量管理 修改销售状态 */ @RequestMapp -
ztree树形结构插件点击,复选框事件给传值
2019-05-27 14:42:43//复选框事件中给全局变量传值 onCheck: function (event, treeId, treeNode) { console.log(treeNode.id) //判断点击的是不是最下级节点,如果是则赋值 if (treeNode.children == undefined) { //判断是选中复选... -
json中的复选框并传值到后台的批量删除
2018-01-17 08:49:11checkbox:true时,页面上的list列表就有复选框了。 这里获取复选框后,如何得到勾选记录的id呢? 上述使用的json 中有一个属性是: idField:"sysno", 在勾选记录时,就绑定了对应记录的id。 这里需要在... -
Thymeleaf+layui+jquery复选框回显
2021-01-13 14:06:06一、Thymeleaf+layui+jquery复选框回显基于Thymeleaf模板下的layui+jquery复选框回显,主要是jquery。大致意思是:把数组转成JSON传到前台,再在前台转回数组AJAX一般都是用JSON格式或XML格式来传递数据的JSON就是一... -
使用ajax将复选框值传递给数组php
2021-08-06 09:00:59我需要一些帮助,通过使用ajax将复选框值传递到数组中并检索控制器中的值。以下代码不起作用。我收到错误:“为foreach()提供的无效参数”。 Var_dump给出string(42) "Educator_Classes[]=1&Educator_Classes;[]... -
摘抄 js 复选框传值
2010-05-07 14:01:41我要用js传递选中的值,但传不过去。 aaaa 我选了,但老是aa.htm?id=undefined 怎么会事? 但要是是这样就可以 aaaa 但不管你选没选中,都会aa.... 多个复选框不能... -
django+layui+js 动态获取复选框的值,前端上传及后端获取复选框的值
2022-03-18 17:14:06管理界面的配置用户角色的地方需要用到复选框,因为是多对多,这里用js去完成修改后赋值到初始字段中,使后端可以轻易的读取, 前端用户管理界面 点击编辑按钮,弹出对应的用户信息,这里是之前写的如何给子页面... -
vue组件递归与传值(权限复选框)
2021-06-07 09:01:32实战用例:管理后台–权限管理模块,多级菜单,菜单层级不固定 数据渲染用组件递归 使用组件递归之后不能使用父子传值,不是普通的父子关系 新建一个bus.js文件 import Vue from 'vue' export var bus = new Vue() ... -
通过jQuery ajax()将多个复选框数据发送到PHP
2021-06-14 00:53:35我想通过jQuery的.ajax()在我的网站上提交一个POST表单,该表单包含一个textarea字段和一个输入字段(类型为“checkbox”,其中复选框的数量为任意/可变)。PHP接收到textarea数据,并且ajax响应已正确显示给用户。...