当前位置:  编程技术>php
本页文章导读:
    ▪php接收复选框checkbox中值的方法      这里介绍两种方法,用于接收页面中复选框checkbox中的值。 方法1,假如表单中有复选框内容: <input name="a[]" type="checkbox" id="a[]" value="阅读" />阅读 <input name="a[]" type="checkbox" id="a[]" value=".........
    ▪php多选框表单checkbox参数传递的问题解析      在网页中使用多选框可以一次性选择多个属性值,进行批量操作。 如下的表单内容: <form name="formdelpi" method="post" action=""> <input name=delpi type=checkbox value=1> <input name=delpi type=checkbox.........
    ▪php中对多选框checkbox的处理方法      1,简单处理 checkbox 单独判断相应 name 值的 checkbox 按钮有没有被提交,然后将数据用布尔型存入,方便下次判断用。 代码如下: //先取出布尔值,构造 checkbox 按钮。 <input name="if" type="c.........

[1]php接收复选框checkbox中值的方法
    来源: 互联网  发布时间: 2013-12-24

这里介绍两种方法,用于接收页面中复选框checkbox中的值。

方法1,假如表单中有复选框内容:

<input name="a[]" type="checkbox" id="a[]" value="阅读" />阅读
<input name="a[]" type="checkbox" id="a[]" value="戏剧" />戏剧
<input name="a[]" type="checkbox" id="a[]" value="游戏" />游戏
<input name="a[]" type="checkbox" id="a[]" value="游泳" />游泳

注意:
四个复选框,采用同一名称,且采用数组名a[]的形式。
这样才能在提交表单时获取循环遍历数组。

实现代码:

<script>
echo"您选择的兴趣有:";  
for($i=0;$i<count($_POST["a"]);$i++)
{
echo $_POST["a"][$i];
echo "   ";
}
</script>

下面来看第二种实现方法。
借助javascript做一下预处理。
多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用
php中的explode()函数解析此数组,如此便可以实现复选框中值的传递。

1,表单内容部分:

<form name="form1" id="form1" method="post" action="/blog_article/myphp.html" 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> 

以上代码,可以把所有选中的复选框的value组合成为一个字符串数组,在myphp.php使用这样的语句:
$items = explode(" ", $http_post_vars["items"]);
即可以把这些选项分离为数组。
注意:选项中的value不能包含分割符(这里是空格)。

有关php获取checkbox复选框中值的方法,就介绍这些吧,希望对大家有所帮助。


    
[2]php多选框表单checkbox参数传递的问题解析
    来源: 互联网  发布时间: 2013-12-24

在网页中使用多选框可以一次性选择多个属性值,进行批量操作。

如下的表单内容:

<form name="formdelpi" method="post" action="">
<input name=delpi type=checkbox value=1>
<input name=delpi type=checkbox value=2>
<input name=delpi type=checkbox value=3>
<input type="submit" name="s" value="【批量删除】">
</form>

在ASP中,可以直接使用 request.form("delpi") 获取参数值,request.form("delpi")的值是以逗号 “, ”分割,比如上面如果全部勾选,那么获得的值为:1, 2, 3。我们可
以使用split函数进行切割,从而对每个参数进行合适的处理。

在PHP中,是无法直接通过$_POST["delpi"]获取像上面这样的值的,php中只能获取最后一个值,比如全部勾选,$_POST["delpi"]的值只返回3。

在php编程中,需要把表单 checkbox 的名称改为数组名,如下面这样:

<form name="formdelpi" method="post" action="">
<input name=delpi[] type=checkbox value=1>
<input name=delpi[] type=checkbox value=2>
<input name=delpi[] type=checkbox value=3>
<input type="submit" name="s" value="【批量删除】">
</form>

然后,可以通过 $_POST["delpi"] 获取数组array(1,2,3)里的全部值了。
再使用foreach函数,可以对数组array里的每个值进行操作,如下:

<?php
/**
* php处理多选框checkbox的值
* edit www.
*/
$id=$_POST["delpi"];
foreach($id as $n){
  mysql_query()("delete from content where id=$n",$conn);
  echo "·结果:删除ID:(".$n.") 成功!<br />";
}
?>

    
[3]php中对多选框checkbox的处理方法
    来源: 互联网  发布时间: 2013-12-24

1,简单处理 checkbox
单独判断相应 name 值的 checkbox 按钮有没有被提交,然后将数据用布尔型存入,方便下次判断用。
代码如下:

//先取出布尔值,构造 checkbox 按钮。
<input name="if" type="checkbox" value="checkbox" <?php if($options['if']) echo "checked='checked'"; ?>/>
<?php
//判断有没有选中,有就存真没有就存假。这样数据就可以循环使用了。
if ($_POST['author']) {
  $options['if'] = (bool)true;
} else {
  $options['if'] = (bool)false;
} 
?>

2,复杂处理 checkbox
为了方便,可以这样:

<?php 
//取出值
$checked = $opt['if']=='checked' ? 'checked="checked"':'' ;
?> 
 
//设置一个每次都提交no值得隐藏按钮
<input name="if" type="hidden" value="no" /> 
//如果选中这个值会覆盖上面的值
<input name="if" type="checkbox" value="checked"s <?php echo $checked;?>/>

小结:
在php编程中,对checkbox的处理,重要的一点就是把它当作数组,然后数组的所有操作均适用于它。


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

windows iis7站长之家