<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post/76/</link>
<title><![CDATA[PHP获取多个同名复选框的值的处理(完整正确版本)]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Fri, 22 Sep 2006 03:37:03 +0000</pubDate> 
<guid>http://www.dzhope.com/post/76/</guid> 
<description>
<![CDATA[ 
	要获取同名的多个复选项框的值的时候,而且复选框的个数是不确定的,PHP和ASP的处理不同.ASP的REQUEST能将获取的复选框自动形成一个数组,要处理这些数值就很容易.比起ASP,PHP就麻烦些,它并没有这些功能(至少我目前未找到).<br/>所以,处理这个问题的时候,我们可以通过JAVASCRIPT预处理,在点击提交的时候把这些复选框的值附加到一个隐藏域去,然后PHP可以获取到这个隐藏域的值,通过explode()函数分解为数组,这样就可以批量获得复选框的值了.<br/>程序代码： <br/>&lt;html&gt;<br/>&lt;body&gt;<br/>&lt;form name=&quot;form3&quot; id=&quot;form1&quot; action=&quot;getvalues.php&quot; method=&quot;post&quot;&gt;<br/> &nbsp; &nbsp;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox1&quot; value=&quot;1&quot;&gt;&lt;br&gt;<br/> &nbsp; &nbsp;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox1&quot; value=&quot;2&quot;&gt;&lt;br&gt;<br/> &nbsp; &nbsp;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox1&quot; value=&quot;3&quot;&gt;&lt;br&gt;<br/> &nbsp; &nbsp;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox1&quot; value=&quot;4&quot;&gt;&lt;br&gt;<br/> &nbsp; &nbsp;&lt;input name=&quot;allcheckboxs&quot; type=&quot;hidden&quot; value=&quot;&quot;&gt;&lt;br&gt; &nbsp; &nbsp; &lt;!--隐藏域,JS将会把值加在allcheckboxs--&gt;<br/> &nbsp; &lt;input type=&quot;submit&quot; name=&quot;Submit3&quot; value=&quot;提交&quot; onClick=&quot;return allcheckbox();&quot;&gt; &nbsp;&lt;!--提交时会激活checkbox()函数--&gt;<br/>&lt;/form&gt;<br/><br/>&lt;script language=&quot;javascript&quot;&gt;<br/>function allcheckbox() <br/>{ <br/> &nbsp; &nbsp;<br/>　form3.allcheckboxs.value = &quot;&quot;; <br/>　if ( !form3.checkbox1.length ) // 只有一个复选框，form3.checkbox1.length = undefined <br/>　{ <br/>　　if ( form3.checkbox1.checked ) <br/>　　　form3.allcheckboxs.value = form3.checkbox1.value; <br/>　} <br/>　else <br/>　{ <br/>　　for ( i = 0 ; i &lt; form3.checkbox1.length ; i++ ) <br/>　　{ <br/>　　　if ( form3.checkbox1(i).checked ) // 复选框中有选中的框 <br/>　　　{ <br/>　　　　form3.allcheckboxs.value = form3.checkbox1(i).value; <br/>　　　　for ( j = i + 1 ; j &lt; form3.checkbox1.length ; j++ ) <br/>　　　　{ <br/>　　　　　if ( form3.checkbox1(j).checked ) <br/>　　　　　{ <br/>　　　　　　form3.allcheckboxs.value += &quot;,&quot;; //用,做分割符 <br/>　　　　　　form3.allcheckboxs.value += form3.checkbox1(j).value; <br/>　　　　　} <br/>　　　　} <br/>　　　　break; <br/>　　　} <br/>　　} <br/>　} <br/>　return true; <br/>}<br/><br/>&lt;/script&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/><br/>下面是处理程序代码：<br/>getvalues.php<br/><br/>&lt;?php<br/>if ((isset($_POST[&quot;allcheckboxs&quot;])) &amp;&amp; ($_POST[&quot;allcheckboxs&quot;] != &quot;&quot;)) {<br/> &nbsp;$allcheckboxs_val= explode(&quot;,&quot;, $_POST[&quot;allcheckboxs&quot;]); <br/> &nbsp; for ($i=0;$i&lt;count($allcheckboxs_val);$i++){<br/> &nbsp; &nbsp; &nbsp;echo $allcheckboxs_val[$i].&quot;&lt;br&gt;&quot;;//arhwen.com<br/>}<br/>}<br/><br/>?&gt;<br/><br/><br/><br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/%25E5%25A4%258D%25E9%2580%2589/" rel="tag">复选</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post/76/#blogcomment2850</link>
<title><![CDATA[[评论] PHP获取多个同名复选框的值的处理(完整正确版本)]]></title> 
<author>杨紫寒 &lt;hbwh08520@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 29 Oct 2007 07:17:34 +0000</pubDate> 
<guid>http://www.dzhope.com/post/76/#blogcomment2850</guid> 
<description>
<![CDATA[ 
	你这说法明显有问题.<br/>在表单里面用<br/>&lt;input type=&quot;checkbox&quot; name=&quot;checkbox1[]&quot; value=&quot;$delID&quot;&gt;<br/>这样在PHP页面接收时用$delID = implode(&quot;,&quot;, $delID);来分割就OK了.这种比ASP的还要好要灵活!
]]>
</description>
</item>
</channel>
</rss>