我想在网站的不同部分将两个表单合并为一个提交按钮。它几乎是一个复选框删除mysql行脚本。这是一张照片。
我要做的是删除SELECTETE,删除左侧选中的复选框行。
我无法让它发挥作用。
我的表单名称为按钮的 delete1 ,整个表格的 delete2 作为表单。
我尝试使用javascript将两种表单合并为一种。
function functionCaller()
{
document.getElementById('delete1').submit();
document.getElementById('delete2').submit();
}
它似乎无法奏效。
有没有人有任何想法,我非常想在页面的另一部分使用提交按钮,该按钮对应于复选框的提交按钮,而不是同一表单的一部分。我希望这是有道理的。
更新。新增代码。
DELETE SELECTED 按钮的表格与表格分开
<form action="" method="post" name="delete">
<div style=" float: right;">
<input type="submit" value="Delete Selected" id="delete" onclick="functionCaller()" name="delete">
</div>
</form>
以下是包含表格的表单
<form action="" method="post" name="delete">
<div class="table">
<div class="table-head">
<div data-label="select" class="column"><input type="checkbox" id="selectall"></div>
<div data-label="id" class="column">ID</div>
<div data-label="avatar" class="column">Avatar</div>
<div data-label="username" class="column">Username</div>
<div data-label="email" class="column">Email</div>
<div data-label="active" class="column">Active</div>
<div data-label="level" class="column">Level</div>
<div data-label="modify" class="column">Modify</div>
</div>
<div class="row">
<div data-label="select" class="column"><input type="checkbox" class="selectedId" name="checkbox[]" id="checkbox[]" value="94" onclick="resetSelectAll();"></div>
<div data-label="id" class="column">94</div>
<div data-label="avatar" class="column"><img alt="" src="uploads/540d248343caa.JPG"></div>
<div data-label="username" class="column">admin</div>
<div data-label="email" class="column">brian.cherdak@gmail.com</div>
<div data-label="active" class="column">Yes</div>
<div data-label="level" class="column">Admin</div>
<div data-label="modify" class="column"><a href="admin_update.php?id=94"><img alt="" src="images/tool.png"></a> <a onclick="delete_user(94);" href="#"><img alt="" src="images/delete.png"></a></div>
</div>
<div class="row">
<div data-label="select" class="column"><input type="checkbox" class="selectedId" name="checkbox[]" id="checkbox[]" value="287" onclick="resetSelectAll();"></div>
<div data-label="id" class="column">287</div>
<div data-label="avatar" class="column"><img alt="" src="uploads/54052a0accd62.gif"></div>
<div data-label="username" class="column">Quyn</div>
<div data-label="email" class="column">brian.cherdak@gmail.com</div>
<div data-label="active" class="column">Yes</div>
<div data-label="level" class="column">Regular</div>
<div data-label="modify" class="column"><a href="admin_update.php?id=287"><img alt="" src="images/tool.png"></a> <a onclick="delete_user(287);" href="#"><img alt="" src="images/delete.png"></a></div>
</div>
</div>
</form>
它们都在页面的单独一侧,但我希望删除按钮几乎是表格形式的删除按钮。
这是我的删除php代码的样子
<?php
if(isset($_POST['delete']))
{
for($i=0;$i<count($_POST['checkbox']);$i++){
$del_id = $_POST['checkbox'][$i];
$sql_del = "DELETE FROM users WHERE id='$del_id'";
$result_del = mysql_query($sql_del);
}
}
?>
答案 0 :(得分:1)
评论后更新了答案:
<form action="" method="post" name="delete1" id='form1' method="POST" onsubmit="merge(); return true;">
<div style=" float: right;">
<input type="submit">
</div>
</form>
<form action="" method="post" name="delete2" id='form2'>
// your checkboxes...
</form>
<script type="text/javascript">
function merge() {
$result = $("#form1");
$("#form2 input, #form2 select").each(function() {
if($(this).is(':checked')){
$result.append("<input type='hidden' name='"+$(this).attr('name')+"' value='"+$(this).val()+"' />");
}
});
}
</script>
答案 1 :(得分:1)
提交功能不好。只有第一次提交才会发生。 我会在删除表单中设置一个隐藏的输入值。我还没有测试过这个,但我想每个人都会明白这个想法。
这里有一些jQuery:
functionCaller = function(e){
e.preventDefault(); // Just to be sure the submit doesn't go without us
var a = []
$(':checkbox').each(function(){
if($(this).prop('checked') === true) a.push($(this).val());
});
$('#hidden_input').val(a.toString()); // Explode by , (comma) in php
document.getElementById('delete1').submit(); // Do form submit now
}
一些PHP:
if(isset($_POST['delete'])){
$a = explode(','$_POST['hidden_input']);
for($i=0;$i<count($a);$i++){
$del_id = $a[$i];
$sql_del = "DELETE FROM users WHERE id='$del_id'";
$result_del = mysql_query($sql_del);
}
}
HTML:
<form action="" method="post" name="delete">
<div style=" float: right;">
<input type="submit" value="Delete Selected" id="delete" onclick="functionCaller()" name="delete">
<input type="hidden" value="" id="hidden_input" name="hidden_input">
</div>
</form>