+ -
当前位置:首页 → 问答吧 → php+js批量提交修改内容

php+js批量提交修改内容

时间:2010-01-13

来源:互联网

今天自己鼓捣出来的,经过测试,完全达到目标,所以共享出来,起个抛砖引玉的作用,如果发现错误,请各位不吝赐教
先说明下,我是用smarty做的,所以分为2个php、1个html、1个js文件,因为是即兴就在编辑框打的代码,所以可能会某些名称出错,有些人可能会说不需要用到js,但是经过我检测,不用js只能按顺序批量,而无法忽略前面没选中的复选框直接获取后面选中的复选框的值,如果哪位大哥有可以不用js的方法请赐教下,代码如下:
///test.php
<?p
include("smarty_inc.php")
$smarty->display("test.html");
?>

///test.html
<script type="text/javascript" src="ajax.js"></script>
<div id="response"></div>
<form action="checkbox.php" method="post" onsubmit="selectpost()">
<input type="checkbox" name="check[]" value="1">
<select name="sale[]"><option>aa</option><option>bb</option></select>
<select name="sales[]"><option>cc</option><option>dd</option></select><br>
<input type="checkbox" name="check[]" value="2">
<select name="sale[]"><option>aa</option><option>bb</option></select>
<select name="sales[]"><option>cc</option><option>dd</option></select>
<input type="submit" name="submit" value="提交" />
</form>

///ajax.js
var xmlHttp;
function S_xmlhttprequest(){
      if(window.ActiveXObject){
           xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
      }else{
           xmlHttp = new XmlHttpRequest();
      }
}

function selectpost(){
    S_xmlhttprequest();
    var check = document.getElementsByName("check[]");
    var ale = document.getElementsByName("sale[]");
    var id = document.getElementsByName("sales[]");
    var totle=check.length;
    var poststr="i="+totle;
    for(i=0;i<totle;i++){
        if(check.checked==true){
           var uid = check.value;
           var sale = ale.value;
           var idd = id.value;
           poststr+="&uid"+i+"="+uid+"&sale"+i+"="+sale+"&sales"+i+"="+idd;
        }else{
           uid="";
           poststr+="&uid"+i+"="+uid;
        }
    }
    var url="checkbox.php";
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlHttp.onreadystatechange = check_post;
    xmlHttp.send(poststr);
}

function check_post(){
       if (xmlHttp.readyState == 4){
         if (xmlHttp.status == 200){
            post();
         }else{
              window.alert("发生错误!");
         }
      }
}

function post(){
    clear_response();
    var response = xmlHttp.responseText;
    document.getElementById("response").innerHTML = response;
}

function clear_response(){
    var response = "";
    document.getElementById("response").innerHTML = response;
}

///checkbox.php
$totle=$_POST;
for($i=0;$i<$totle;$i++){
 $uid=$_POST[uid.$i];
 if($uid!=""){
  $said=$_POST[sale.$i];
  $sid=$_POST[sales.$i];
  echo $said.'|'.$sid;
 }
}
[ 此帖被zhengnz在2010-01-13 18:40重新编辑 ]

作者: zhengnz   发布时间: 2010-01-13