删除按钮在CodeIgniter中不起作用

时间:2014-10-13 08:10:11

标签: javascript php mysql codeigniter

这是我的删除按钮:

<td>
    <a href="javascript:void(0);" onclick="delete(<?php echo $data->emp_id;?>);">
        <button id="button_delete">Delete</button>
    </a>
</td>

这是我的Javascript代码:

<script type="text/javascript">
    var url="<?php echo base_url();?>";
    function delete(id)
    {
        var r=confirm("Do you want to delete this employee?");
        if (r==true)
        {
            window.location = url+"index.php/admin_logins/employee4/"+id;
        }
        else
        {
            return false;
        }
    }
</script>

这是我的控制器(admin_logins.php)方法 -

function employee4($emp_id)
{
    $this->employee_model->delete_employee($emp_id);
    $this->index();
}

这是我的模型(employee_model.php)方法 -

public function delete_employee($emp_id)
{
    $this->db->where('employee.emp_id',$emp_id);
    return $this->db->delete('employee');
}

我的表名是employee,我的数据库是MySQL。

Column Name         Datatype
   id                 int
  emp_id             varchar(15)
  emp_name           varchar(50)
  emp_mobile_no      varchar(15)

每当我点击删除按钮时,都不会发生任何事情。我做错了什么?

4 个答案:

答案 0 :(得分:3)

无需通过$emp_id。您的控制器功能应如下所示:

function employee4()
{
    $emp_id = $this->uri->segment(3);

    $this->employee_model->delete_employee($emp_id);
    $this->index();
}

在您的情况下,uri细分值为3

答案 1 :(得分:1)

这是函数名delete我测试了它并给了我这个错误:

  

未捕获的SyntaxError:意外的令牌删除

因此,请尝试使用其他名称命名,例如:deleteEntrydeleteEmployee

delete是javascript命令,因此它是保留字,请始终避免使用保留字命名函数或变量

或者我建议使用解决方案:

<td>
    <a href="index.php/admin_logins/employee4/<?php echo $data->emp_id;?>" 
       onclick="return confirm('Do you want to delete this employee?');">
        <button id="button_delete">Delete</button>
    </a>
</td>

a个标签href,然后点击返回确认消息

答案 2 :(得分:1)

  

使用删除按钮面临同样的问题,最后我找出了这些代码,它完全按我想要的方式工作。

// *****我的控制器名称:主要*****

public function delete_user()
{
    $this->model_users->deleteM($id);
 // whatever you like here.. redirect('') OR load view;
  }

// ***** Model *****

  public function deleteM($data)
  {
     $this->db->where('id', $this->uri->segment(3));
     $this->db->delete('employee');
  }

// ***** VIEW ******* 

<?php $bttn = '<button name="delete" onclick="ConfirmDelete()"></button>'; 
echo anchor("main/delete_user/$row->id", $bttn);?> 
  

如果你需要这个VIEW的帮助,你可以随时询问,现在我认为一切都很酷!

// ***** OnClick JS Function ******

<script>
  function ConfirmDelete()
  {
    var x = confirm("Are you sure you want to delete?");
    if (x)
      return true;
    else
      return false;
  }
</script>

答案 3 :(得分:0)

试试这个

$('#id_for_your_delete_button').on('click', function(){
     var id = $('#entry_id').val();
     $.ajax({
          type: 'POST',
          url: '<?= site_url("your_controller_here"); ?>',
          data: id
    });
});