标签:
调试一个网站后台,添加一个批量删除按钮,删除按钮是,用onclick="javascript:this.form.action=‘URL‘;"
下方工具条是用JS谢了一个postdo方法,通过传至不同,而进行不同的操作。
测试代码: select.html —>中的表单
<form method="post" action="select.php">
<button id="deleteButton" class="btn btn-danger" onclick="javascript:this.form.action=‘select.php‘;">删除</button>
1:<input type="checkbox" name="id[]" id="ids" value="1"><br/>
2:<input type="checkbox" name="id[]" id="ids" value="2"><br/>
3:<input type="checkbox" name="id[]" id="ids" value="3"><br/>
4:<input type="checkbox" name="id[]" id="ids" value="4"><br/>
5:<input type="checkbox" name="id[]" id="ids" value="5"><br/>
6:<input type="checkbox" name="id[]" id="ids" value="6"><br/>
</form>
select.php 内容
<?php
$id = $_GET[‘id‘];
$idAry = $_POST[‘id‘];
print_r($id);
print_r($idAry);
exit();
?>
打印出传输过来的数据
第一个有Notice,是因为$_GET为空。
$_POST在多选的情况可以得到数组,进行批量处理。
这里要注意 input:checkbox的name需要带“[]”,不然会出现传值错误。
{测试过程中,老是传不到值,最后发现页面中有两个表单,导致提交的表单有误,最后修正。}
——————华丽分割线————————————————————————————————
系统是用别人做的,就多看了下源码的php批量处理操作
传到delete方法
对传递过来的每个值都循环操作一次,这个是帖子的删除,还需要对帖子下面的回帖一并删除。
public function delete() {
$_Obj = M($this->objName);
$msgObj = new Msg();
$id = $_GET[‘id‘];
$idAry = $_POST[‘id‘];
$idStr = count($idAry) == 0 ? intval($id) : implode(",", $idAry);
$newIdAry = explode(",", $idStr);
$idSize = count($newIdAry);
if (empty($newIdAry[0]) && empty($id)) {
//这个是消息提示方法,error错误提示,
$msgObj->addMsg(‘error‘, Config::lang("PLEASECHOOSEDELETEDATA"));
}
for ($i = 0; $i < $idSize; $i++) {
if ($_Obj->haveReply($newIdAry[$i])) {
$_Obj->query(‘delete from ‘.TABLEPRE.‘bbs_comment where topicid = ‘.$newIdAry[$i]);
$_Obj->deleteById($newIdAry[$i]);
$msgObj->addMsg(‘success‘, Config::lang("删除成功"));
} else {
$_Obj->deleteById($newIdAry[$i]);
}
//$_Obj->query(‘delete from ‘.TABLEPRE.‘bbs_comment where topicid = ‘.$newIdAry[$i]);
//$_Obj->deleteById($newIdAry[$i]);
}
if (!$msgObj->hasMsg) {
$_Obj->delete();
}
$this->listAll();
}
Web前端—表单—批量处理
标签:
原文地址:http://www.cnblogs.com/iZen/p/5122750.html