PHP中获得复选框是否选中并写入数据库

form.html

 代码如下 复制代码
<form action=checkbox.php method=post>
<input name="s[]" type="checkbox" value="3" />3<br>
<input name="s[]" type="checkbox" value="7" />7<br>
<input name="s[]" type="checkbox" value="1" />1<br>
<input name="s[]" type="checkbox" value="15" />15<br>
<input type=submit>
</form>

然后建立一个处理表单的程序:
checkbox.php

 代码如下 复制代码

<?php 
$a=$_POST["s"];
print_r($a);
?>

但是上面这个程序只是用来显示复选框是否正常,如果逐个取出数组中所有的数据,需要用到循环。

所以进一步将程序修改为:
checkbox.php

 代码如下 复制代码

<?php 
$a=$_POST["s"];
for($i=0;$i<count($a);$i++)
{
echo "选项".$a[$i]."被选中<br />";
}
?>

这样执行的结果类似于:
选项3被选中
选项15被选中

利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用php中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。
假设有这样一个表单:

 代码如下 复制代码

<form name="form1" id="form1" method="post" action="myphp.php" onsubmit="return checker()">

<input type="checkbox" name="item" value="1">1<br>

<input type="checkbox" name="item" value="2">2<br>

<input type="checkbox" name="item" value="3">3<br>

<input type="checkbox" name="item" value="4">4<br>

<input type="hidden" name="items" value="">

<input type="submit" value="submit">

</form>

这个表单有四个名字都是item的复选框,当用户单击submit按钮的时候,checker函数会被调用,并且如果checker返回true表单就被提交,返回false表单就不会被提交。这里checker函数就是我们要编写的预处理函数。在html的header部分添加下面的javascript:

 代码如下 复制代码

<script language="javascript">
<!--
function checker()
{
form1.items.value = "";
if ( !form1.item.length ) // 只有一个复选框,form1.item.length = undefined
{
if ( form1.items.checked )
form1.items.value = form1.item.value;
}
else
{
for ( i = 0 ; i < form1.item.length ; i++ )
{
if ( form1.item(i).checked ) // 复选框中有选中的框
{
form1.items.value = form1.item(i).value;
for ( j = i + 1 ; j < form1.item.length ; j++ )
{
if ( form1.item(j).checked )
{
form1.items.value += " "; //用空格做分割符
form1.items.value += form1.item(j).value;
}
}
break;
}
}
}
return true;
}
-->
</script>

时间: 2024-07-29 03:05:13

PHP中获得复选框是否选中并写入数据库的相关文章

easyui-java 从数据库中取出数据,有数据的复选框为选中

问题描述 java 从数据库中取出数据,有数据的复选框为选中 从数据库中取出数据,有数据的复选框为选中用easyui做的,怎么在生成datagrid之前就已经进行了判断.即在java文件中就已进行了判断.. 解决方案 查出来的记录是一条一条的,每条记录相当于一个实例类,为这个实例类多添加一个字段,用于标记是否有值.到前端根据标记去作显示. 解决方案二: 查的时候map多加一个flag标志选中呢? 解决方案三: 再多一个字段,有数据则这个字段为true.或者在显示的时候判断一下数据是不是存在,<#

jquery获取复选框被选中的值

 这篇文章主要介绍了jquery获取复选框被选中的值的方法,需要的朋友可以参考下  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <html>  <head>  <mce:style><!--    --></mce:style&

在Word2003文档窗口中使用复选框或单选按钮

  在Word2003中,对话框中的选项按钮分为单选按钮和复选框两种类型.其中复选框一般成组出现,在选取时用户可以一次性选择多个复选框.被选中的复选框中将标记有√符号,再单击一次可取消选择,如图1所示. 文档窗口中使用复选框或单选按钮-单选按钮和复选框"> 图1 Word2003选项按钮 单选按钮通常会成组出现,在选择单选按钮时,用户一次只能选中一个单选按钮.当一个单选按钮被选中后,同组的其他单选按钮将自动被取消选择.被选中的单选按钮中出现一个圆点,再次单击该单选按钮可取消选择,如图2所示

基于jQuery实现复选框是否选中进行答题提示_jquery

最近是在项目需求中遇到的功能点,根据用户选择的选项给出相应的提示,下面给出了测试程序的效果图,看看是不是很满意,如果大家觉得还不错,请继续查看全文. 一.实现的原理: 第一步:判断用户选择哪一项,即哪个复选框被选中 第二步:根据复选框的选中情况给出相应的提示 二.下面来看主体程序: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title&

jQuery获取复选框被选中数量及判断选择值的方法详解_jquery

本文实例讲述了jQuery获取复选框被选中数量及判断选择值的方法.分享给大家供大家参考,具体如下: 获取复选框被选中值 <input type="button" id="btn5" value="获得选中的所有值"> <input type="text" name="dd" id="dd" size="50" /> $("#btn5&

如何写js可以在checkbox复选框被选中时获取value的值?请大神赐教

问题描述 如何写js可以在checkbox复选框被选中时获取value的值?请大神赐教 解决方案 var obj = document.getElementsByName("interest");//选择所有name="interest"的对象,返回数组 var s='';//如果这样定义var s;变量s中会默认被赋个null值 for(var i=0;i<obj.length;i++){ if(obj[i].checked) //取到对象数组后,我们来循环

jquery 统计复选框checkbox选中个数

以前我使用js只能判断遍历再获取, 例1  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

jquery获取复选框被选中的值_jquery

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <mce:style><!-- --></mce:style><style mce_bogus="1"> &l

jquery判断复选框checkbox选中个数

首先引入jquery文件 <script type="text/javascript" src="js/jquery.js"></script> 判断check是否选中 多选框checkbox:  代码如下 复制代码  $("#chk1").attr("checked",'');//不打勾  $("#chk2").attr("checked",true);//打勾