如何进行至少需要1条记录才能删除的删除确认


How to make a delete confirmation that need a minimum of 1 record to be deleted?

我需要帮助进行删除确认,该确认至少需要1条记录才能删除。我仍然对制作它感到困惑。我认为我的javascript代码有问题。任何帮助都将不胜感激。感谢

这是php代码:

enter code here
<script src="javascript.js" type="text/javascript"></script>
<?php
echo"<form method=POST action='action.php?act=delete'>
     <input type=checkbox name='checkbox[]' value='1'>1
     <input type=checkbox name='checkbox[]' value='2'>2
     <input type=checkbox name='checkbox[]' value='3'>3
     <input type=submit value=Delete onClick='return del_confirm();'></form>";
?>

这是javascript代码:

enter code here
function del_confirm()
{
var msg=confirm('Are you sure?');
var c=document.getElementsByName('checkbox[]');
if(msg)
{
    for(i=0;i<c.length;i++)
    {
    if(c[i].checked)
    {
        return true;
    }
    else
    {
        alert("Select minimum of 1 record to be deleted!");
        return false;
    }
    }
}
else
{return false;}
    }

您的逻辑有点偏离:

function del_confirm() {
    var msg = confirm('Are you sure?');
    var c = document.getElementsByName('checkbox[]');
    if(msg) {
        for(i = 0; i < c.length; i++) {
            if(c[i].checked) {
                return true;
            }
        }
        // This has to be outside the for loop,
        // that way it only gets here if every box is not checked
        alert("Select minimum of 1 record to be deleted!");
        return false;
    } else {
        return false;
    }
}​

您在for循环中有警报,因此函数的第一个未选中框返回false。

Fiddle示例:http://jsfiddle.net/FfkvW/