如何确定复选框是否已选中

How to determine if the checkbox has been checked or not

本文关键字:是否 何确定 复选框      更新时间:2024-02-05

我正在尝试为借用按钮创建一个验证,当按下该按钮时,如果没有未检查的项目,它应该显示提示,但实际情况是它不会显示提示,而且显然也不会保存到数据库中。我该怎么做呢。

下面是javascript的代码。(我不知道这是否正确)

$(".uniform_on").change(function(){
    var max = 1;
    if ($(".uniform_on:checked").length < max) {
        $(".uniform_on").attr('disabled', 'disabled');
        alert('Please Check the item of equipment to be borrowed!');
        $(".uniform_on:checked").removeAttr('disabled');
    } else {
        $(".uniform_on").removeAttr('disabled');
    }
})

请帮帮我,我还不太了解代码,因为我只是自己定制代码,而且我对这类东西的了解有限。如果我在不选中复选框的情况下按下"借用"按钮会怎样;我如何验证这一点,即用户在再次按下借入键之前会先检查一些内容。谢谢

这是我的Borrow 的全部代码

<?php include('header.php'); ?>
<?php include('session.php'); ?>
<?php include('navbar_borrow.php'); ?>
    <div class="container">
        <div class="margin-top">
            <div class="row">   
                                <div class="alert alert-info">
                                    <button type="button" class="close" data-dismiss="alert">&times;</button>
                                    <strong><i class="icon-user icon-large"></i>&nbsp;Borrow Table</strong>
                                </div>
        <div class="span12">        
        <form method="post" action="borrow_save.php">
<div class="span3">
                                            <div class="control-group">
                <label class="control-label" for="inputEmail">Borrower Name</label>
                <div class="controls">
                <select name="member_id" class="chzn-select"required/>
                <option></option>
                <?php $result =  mysql_query("select * from member")or die(mysql_error()); 
                while ($row=mysql_fetch_array($result)){ ?>
                <option value="<?php echo $row['member_id']; ?>"><?php echo $row['firstname']." ".$row['lastname']; ?></option>
                <?php } ?>
                </select>
                </div>
            </div>
                <div class="control-group"> 
                    <label class="control-label" for="inputEmail">Due Date</label>
                    <div class="controls">
                    <input type="text"  class="w8em format-y-m-d highlight-days-67 range-low-today" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" required/>
                    </div>
                </div>
                <div class="control-group"> 
                    <div class="controls">
                                <button name="delete_student" class="btn btn-success"><i class="icon-plus-sign icon-large"></i> Borrow</button>
                    </div>
                </div>
                </div>
                <div class="span8">
                        <div class="alert alert-success"><strong>Select Equipment</strong></div>
                            <table cellpadding="0" cellspacing="0" border="0" class="table" id="example">
                                <thead>
                                    <tr>
                                        <th>Acc No.</th>
                                        <th>Equipment Description</th>                                 
                                        <th>Category</th>
                                        <th>Quantity</th>
                                        <th>status</th>
                                        <th>Add</th>
                                    </tr>
                                </thead>
                                <tbody>
                                  <?php  $user_query=mysql_query("select * from equipment where status != 'Archive' ")or die(mysql_error());
                                    while($row=mysql_fetch_array($user_query)){
                                    $id=$row['equipment_id'];  
                                    $cat_id=$row['category_id'];
                                            $cat_query = mysql_query("select * from category where category_id = '$cat_id'")or die(mysql_error());
                                            $cat_row = mysql_fetch_array($cat_query);
                                    ?>
                                    <tr class="del<?php echo $id ?>">

                                    <td><?php echo $row['equipment_id']; ?></td>
                                    <td><?php echo $row['equipment_description']; ?></td>
                                    <td><?php echo $cat_row ['classname']; ?> </td> 
                                    <td><?php echo $row['quantity']; ?> </td> 
                                    <?php /*  <td><?php echo $row['equipment_description']; ?></td> */ ?>
                                      <td width=""><?php echo $row['status']; ?></td> 
                                    <?php include('tooltip_edit_delete.php'); ?>
                                    <td width="20">
                                                <input id="" class="uniform_on" name="selector[]" type="checkbox" value="<?php echo $id; ?>" >
                                    </td>
                                    </tr>
                                    <?php  }  ?>
                                </tbody>
                            </table>
                </form>
            </div>      
            </div>      
<script>        
$(".uniform_on").change(function(){
    var max = 1;
    if( $(".uniform_on:checked").length < max ){
        $(".uniform_on:checked").attr('disabled', 'disabled');
                 alert('Please Check the item of equipment to be borrowed!');
        $(".uniform_on:checked").removeAttr('disabled');
    }else{
         $(".uniform_on").removeAttr('disabled');
    }
})
</script>       
            </div>
        </div>
    </div>
<?php include('footer.php') ?>

进行了更改,它现在适用于验证部分,对于我想借用的事务部分,它不会保存到数据库中,但它只提示您已经借用编码新借款按钮:

<input  name="delete_student" class="btn btn-success" type="button" value="Borrow" onClick="return validationfunction();" />

javascript代码:

<script>
function validationfunction() {
    if($(".uniform_on:checked").length > 0 ) {
         alert('Equipment has been borrowed.');
         return true
    }
    else {
         alert('Please check the item of equipment to be borrowed!');
         return false;
    }
}
</script>       

首先是一个javascript和jQuery代码。

单击箭头按钮时调用此函数,以检查复选框是否选中,如下图所示。

function validationfunction() {
    if($('.uniform_on').is(':checked')) {
         // Your code goes here.
    }
    else {
         alert('Please Check the item of equipment to be borrowed!');
         return false;
    }
}

点击按钮后调用此函数,如下所示。

<input type="submit" value="Borrow Button" onClick="return validationfunction();" />

As@SpYk3HH已经提到,您在这里发布的代码部分不是PHP。但根据阅读你的完整帖子。我可以猜测,在后端(PHP)端接收post数据时,您基本上遇到了一些问题。

实际上,HTML元素复选框通常充当BOOL值(true/false)。因此,如果选中复选框,您将在Post Data中获得复选框值,否则您将不会收到它。

如何处理这种情况:

好吧,这是关于你的代码的游戏,你应该在将数据插入数据库之前制作一个数组:

$myData = array();
$myData['key1'] = $_POST['key1'];
$myData['key2'] = $_POST['key2'];
/*
    As you can see we are handeling if the Checkbox was not seleted and giving it the value '0' in this case.
*/
$myData['checkbox_key'] = !empty($_POST['checkbox_key']) ? $_POST['checkbox_key'] : 0;

// then insert your $myData array in to database or do anything you wants to do.

此外,您还可以在提交表单之前验证您的复选框:

function validate_it(){
     if( $(".yourClassName:checked").length > 0 ){
         // Submit it or anything else
     }else{
         // alert or warn the user!
     }
}