我需要帮助进行删除确认,该确认至少需要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/