一进来就看见两个表单有关问题,其实小弟我也是冲着表单有关问题来的呀
一进来就看见两个表单问题,其实我也是冲着表单问题来的呀
有如下数据表
id----name----show
1-----AA------1
2-----BB------0
4-----DD------0
33----FF------1
读取后输出的操作表单如下:
AA
BB
DD
FF
程序目的:提交后,根据勾选状态重置表里面的所有字段的show值,比如AA没勾选,提交后将它设置为0,而DD被勾选了,提交后将它设置为1
但这里有一个问题,post过来的type数组只带有勾选元素,如本身AA的show是1,输出控制器在输出时将它默认设置为 checked="checked",即勾选,这时候我想将AA的show设置为0,所以关闭勾选,并且将本身没勾选的DD进行勾选(想把DD的show设置为1),提交表单,传来的type数组如下:
Array
(
[0] => 4
[1] => 33
)
即数据只传来了勾选的两个元素,第0个元素其实就是DD,第1个元素就是FF,前面的AA,BB没勾选就没传来,得到这个数组后,
就要根据数组值去找对应id的记录设置为1,但是没有传来的就设置为0,怎么弄?
===============
另一个方案,表单的name值用id命名,而不是数组,即如下表单(这是我的笨方法,加了个hidden记录最大的id值)
AA
BB
DD
FF
提交后,勾选的就提交上来了,我用CI框架的,这样来弄..
$maxid = 从数据库得到最大id;
$types = array();
for($i = 1; $i $types[$i] = ($this->input->post('type'.$i)==false)?0:1;
//没有勾选的话,比如post('type2')会返回false,因为type2这个表单表量压根没有传过来..而传过来的都是勾选的,所以非false的就返回1
}
问题这样for循环就添加了很多个不存在的间断id,当然,解决办法就是从数组中获取存在的id组foreach一个个id取值.
请问还有没有其它办法?最终我其实就是想要一个这样的数组:描述了表单里所有选项的勾选状态.现在我只能获取到已勾选的,没勾选的居然不传变量过来我晕死了.
------解决方案--------------------
只有选中的checkbox才会提交 第一种是合理的
------解决方案--------------------
可以将所有checkbox的name值连成一个字符串,如:"type1,type2……",将其传到后台,php用explode将其分割,将获得的数组和接收过来的post按键名取差集,得到的就是未勾选的
------解决方案--------------------
其实两种办法是差不多的:
第一种:php里准备一个数组,array(1, 2, 4, 33); 遍历这个array, 检查array[i]是否在$_POST['type']内,可以使用isset或者in_array。
第二种:和第一种是一样的.. 只不过用了一下字符串拼接.. array(1, 2, 4, 33), 遍历这个array,检查array[i]是否存在$_POST['type' . $array[i]]

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

Go中Type关键字的用法有定义新的类型别名或者创建新的结构体类型。详细介绍:1、类型别名,使用“type”关键字可以为已有的类型创建别名,这种别名不会创建新的类型,只是为已有的类型提供一个新的名称,类型别名可以提高代码的可读性,使代码更加清晰;2、结构体类型,使用“type”关键字可以创建新的结构体类型,结构体是一种复合类型,可以用于定义包含多个字段的自定义类型等等。

ubuntu挂载移动硬盘出现错误:mount:unknownfilesystemtype'exfat'处理方法如下:Ubuntu13.10或安装exfat-fuse:sudoapt-getinstallexfat-fuseUbuntu13.04或以下sudoapt-add-repositoryppa:relan/exfatsudoapt-getupdatesudoapt-getinstallfuse-exfatCentOSLinux挂载exfat格式u盘错误的解决方法CentOS中加载extfa

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

区别有:1、div是一个块级元素,span是一个行内元素;2、div会自动占据一行,span则不会自动换行;3、div用于包裹比较大的结构和布局,span用于包裹文本或者其他行内元素;4、div可以包含其他块级元素和行内元素,span可以包含其他行内元素。

watch4pro和gt各自具有不用的特点和适用场景,如果注重功能的全面性、高性能和时尚外观,同时愿意承担较高的价格,那么Watch 4 Pro可能更适合。如果对功能要求不高,更注重电池续航和价格的合理性,那么GT系列可能更适合。最终的选择应根据个人需求、预算和喜好来决定,建议在购买前仔细考虑自己的需求,并参考各种产品的评测和比较,以做出更明智的选择。
