Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何查看未选中的复选框_Php_Html_Forms_Function_Checkbox - Fatal编程技术网

Php 如何查看未选中的复选框

Php 如何查看未选中的复选框,php,html,forms,function,checkbox,Php,Html,Forms,Function,Checkbox,我想提醒用户,如果他们没有选中任何复选框,并返回表单 在他们选中至少一个复选框后,继续进入下一页 我该怎么做 <input type="checkbox" name="pay[]" value=" <?php echo $DateArr[$record_count].";"; echo $invoiceArr[$record_count].";"; echo $TotalArr[$record_count].";"; echo $amoun

我想提醒用户,如果他们没有选中任何复选框,并返回表单 在他们选中至少一个复选框后,继续进入下一页 我该怎么做

<input type="checkbox" name="pay[]"  value="
    <?php 
    echo $DateArr[$record_count].";";
    echo $invoiceArr[$record_count].";";
    echo $TotalArr[$record_count].";";
    echo $amount_dueArr[$record_count];
    ?>
    " onClick="checkTotal()"/>

<td ALIGN="right" ><input type="submit" name="submit" value="Continue" onMouseOver="CheckBoxStatus()"></td>
如果用户尚未选中,则至少有一个复选框会提醒消息并返回表单

然后

我可以这样做吗: `

使用jQuery

var $checked = $("input:checked");
if($checked.length == 0) {
     alert("Please select at least one to proceed!");
}

HTML有点乱。有几件事

去掉包含按钮的标签。看起来它没有目的。 要调用JavaScript,需要使用onsubmit而不是onMouseOver。 若要检查是否选中该复选框,请将函数更改为以下内容

function checkBoxStatus { 
    if(document.getElementsByName("pay[]").checked) {
        return true;
    }
    else {
        alert("Please select at least one to proceed!");
        return false;
    }
}
编辑;忘了警报

检查是否包含jquery.:| 试试这个:

<input id="ipay" type="checkbox" name="pay[]"  value="
<?php 
echo $DateArr[$record_count].";";
echo $invoiceArr[$record_count].";";
echo $TotalArr[$record_count].";";
echo $amount_dueArr[$record_count];
?>"
/>

<td ALIGN="right" ><input type="submit" name="submit" value="Continue"></td>
<form id="pform" name="payform"  method="POST" action="payment.php">

您可以这样做:

<html>
    <head>
        <title>Verify Checkbox</title>
        <script type="text/javascript">
            function verifyCheckboxSelected(form) {
                var theForm = document.forms[form];
                var valid = false;

                for( var i=0; i < theForm.length; i++ ) { 
                    if(theForm.elements[i].checked) {
                        valid = true;
                    } 
                }

                if (!valid) {
                    alert('You must select at least one checkbox')
                    return false;
                }
            }
        </script>
    </head>
    <body>
        <form name="myForm" onSubmit="return verifyCheckboxSelected(this.name)">
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox A</br>
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox B</br>
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox C</br>
            <input type="submit" value="submit" />
        </form>
    </body>
</html>

我应该把这个函数放在哪里?在CheckBoxStatus?如果这是他使用它的全部目的,jQuery是不必要的。仍然继续到下一页,即使没有选中复选框…?我如何使它保持在表单中,直到至少选中一个复选框?复选框在JS中总是有一个值,这是您生成它的方式。您要检查复选框的.checked属性,该属性为真/假。如果复选框.value=;=false?否。如果checkbox.checked==false{…未选中…}.ifdocument.getElementsByNamepay[].checked==false{return true;}否则{警报请至少选择一个继续!;return false;}getElementsByName返回匹配节点的数组。。。你真的需要阅读DOM操作…我应该在哪里调用这个函数?在按钮上还是在窗体上?在表单或“提交”按钮上。您已经在表单上提交了一个onsubmit,所以可能需要合并它们?当它返回false时,为什么它仍然会继续到下一页?如果用户没有选中任何复选框,我怎么能保持在同一页?如果我单击其中一个复选框,它仍然会让我选择至少一个继续!
var $checked = $("input:checked");
if($checked.length == 0) {
     alert("Please select at least one to proceed!");
}
function checkBoxStatus { 
    if(document.getElementsByName("pay[]").checked) {
        return true;
    }
    else {
        alert("Please select at least one to proceed!");
        return false;
    }
}
<input id="ipay" type="checkbox" name="pay[]"  value="
<?php 
echo $DateArr[$record_count].";";
echo $invoiceArr[$record_count].";";
echo $TotalArr[$record_count].";";
echo $amount_dueArr[$record_count];
?>"
/>

<td ALIGN="right" ><input type="submit" name="submit" value="Continue"></td>
<form id="pform" name="payform"  method="POST" action="payment.php">
    $(document).ready(function() {
            $('#pform').submit(function(e) {
                    var paycheck = $('#ipay').attr('checked');
                    if(paycheck != true or paycheck != 'checked') {
                            alert('Please check at least one option.');
                            e.preventDefault();
                    }
            });
    });
<html>
    <head>
        <title>Verify Checkbox</title>
        <script type="text/javascript">
            function verifyCheckboxSelected(form) {
                var theForm = document.forms[form];
                var valid = false;

                for( var i=0; i < theForm.length; i++ ) { 
                    if(theForm.elements[i].checked) {
                        valid = true;
                    } 
                }

                if (!valid) {
                    alert('You must select at least one checkbox')
                    return false;
                }
            }
        </script>
    </head>
    <body>
        <form name="myForm" onSubmit="return verifyCheckboxSelected(this.name)">
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox A</br>
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox B</br>
            <input type="checkbox" name="myCheckBoxes[]"/>Checkbox C</br>
            <input type="submit" value="submit" />
        </form>
    </body>
</html>