Php 在codeigniter中使用javascript进行表单验证

Php 在codeigniter中使用javascript进行表单验证,php,javascript,codeigniter,validation,Php,Javascript,Codeigniter,Validation,您好,我有一个从数据库填充的jquery表: <?php $attributes = array('name' => 'users'); echo form_open('users/action',$attributes);?> <table class="data display datatable" id="example"> <thead> <tr> <th>Username&

您好,我有一个从数据库填充的jquery表:

<?php 
$attributes = array('name' => 'users');

echo form_open('users/action',$attributes);?>
<table class="data display datatable" id="example">
    <thead>
        <tr>
          <th>Username</th>
          <th>Name</th>
          <th>Nickname</th>
          <th>Birthday</th>
          <th>Sex</th>
          <th>Address</th>
          <th><input type="checkbox" id="select all"></th>
        </tr>
    </thead>
    <tbody> 
<?php foreach($query->result_array() as $row): ?>
        <tr class="even gradeC">
            <td><?php echo anchor('users/details/'.$row['usrID'],$row['usrName']);?></td>
            <td><?php echo $row['usrpFirstName'].' '.$row['usrpLastName'];?></td>
            <td><?php echo $row['usrpNick'];?></td>
            <td><?php echo $row['usrpBday'];?></td>
            <td><?php echo $row['usrpSex'];?></td>
            <td><?php echo $row['usrpAddress'];?></td>
            <td><input type="checkbox" name="checkID[]" id="checkID" value="<?php echo $row['usrID'];?>" />

              <label for="checkID"></label></td>
        </tr>
<? endforeach; ?>
    </tbody>
</table>
  <input type="submit" name="Delete" id="Delete" value="Delete" class="btn btn-orange" />
  <input type="submit" name="Edit" id="Edit" value="Edit" class="btn btn-orange" onclick="return validateForm()" />
  <input type="submit" name="AddUser" id="Add User" value="Add User" class="btn btn-orange" />
 </form>
现在的问题是,即使我检查了表中的一个用户,它仍然会发出警报

就连我也用这个:

<?php 
$attributes = array('name' => 'users' , 'onsubmit' =>"return validateForm()");

echo form_open('users/action',$attributes);?>

文档。表单[“用户”][“检查ID[]”]
将为您提供一个包含所有具有该名称的复选框的数组。您要求的是数组的
,这没有意义。您需要循环检查它们,以确定是否有以下内容进行了检查:

function validateForm() {
   var checkboxes = document.forms["users"]["checkID[]"];
   for (var i = 0; i < checkboxes.length; i++) {
      if (checkboxes[i].checked) {
         return true;
      }
   }

   alert("Please select a user to edit.");
   return false;
}
函数validateForm(){
var复选框=document.forms[“users”][“checkID[]”;
对于(变量i=0;i
我还没有测试过它,但是代码应该会给你一个大概的想法。

文档。表单[“users”][“checkID[]”]
会给你一个包含所有具有该名称的复选框的数组。您要求的是数组的
,这没有意义。您需要循环检查它们,以确定是否有以下内容进行了检查:

function validateForm() {
   var checkboxes = document.forms["users"]["checkID[]"];
   for (var i = 0; i < checkboxes.length; i++) {
      if (checkboxes[i].checked) {
         return true;
      }
   }

   alert("Please select a user to edit.");
   return false;
}
函数validateForm(){
var复选框=document.forms[“users”][“checkID[]”;
对于(变量i=0;i

我还没有测试它,但是代码应该会告诉您大概的想法。

如果一个表中有两个用户,它会工作,但是如果该表只有一个用户,它仍然会提醒我没有选中任何复选框,,,如果一个表中有两个用户,它会工作,但是如果该表只有一个用户,它仍然会提醒我没有选中任何复选框,,