一般情况提交多选项表单其实很容易,但先要知道选项INPUT NAME值是事先知道的,假如不知道input name值该如何处理?比如有一组数据,从数据库里读出,然后任选存入数据库该如何处理呢?因为这时input name 值用一个固定的话你只能取到一项提交到数据库,如何取得所有选中的值呢?
这其中会遇到三个问题:1).如何取被选中的ID值?2).如何把chestr通过POST传递给PHP来处理?3).接收到的save.php?eobo=2|5|8|12|这种类型,但这种直接用eobo=$_REQUEST["eobo"];取到的值是不对的又该如何处理?
下面分别讲解这三个问题,这三个问题解决了,所有问题都处理完毕:
1).input name任然固定,假如为eobo,表单可以这样写:<input name="eobo" type=checkbox id=kcmc_<?php echo $row_kc["id"]?> value="<?php echo $row_kc["id"]?>">
然后再通过JAVASCRIPT取得所有选中的ID,可以这样写: var str=document.getElementsByName("eobo"); var objarr=str.length; var chestr=""; for (i=0;i<objarr;i++) { //循环判断是否有被选中的checkbox if(str[i].checked == true) { //如果有,就把值保存在chestr里面 chestr+=str[i].value+"|"; } }
2).如何把chestr通过POST传递给PHP来处理呢? 在表单中不写action,用onsubmit="return chk();"来处理,把action直接放到JAVASCRIPT中来处理!
3).得到了类如save.php?eobo=2|5|8|12|后如何存到数据库? 直接用eobo=$_REQUEST["eobo"];取到的值是不对的,这时很容易让你想到用$aaa=$_SERVER["REQUEST_URI"];$kcid = strtolower(end(explode("=", $aaa)));呵呵,看看echo $kcid;是不是很兴奋呢?
这个说起来简单,但要应运很多知识的灵活应用!只有掌握的知识越多,我们在义乌网站建设中才能从容面对!大家有其它的方法可以联系立天网络技术QQ:49278011交流! |