在codeigniter中的Javascript删除确认框

时间:2016-11-20 14:34:45

标签: javascript php jquery codeigniter

首先,我已经在本网站尝试了所有可能的答案,但没有任何对我有用。

我想在删除我的数据之前显示弹出窗口确认。我用这个

 <a href="<?php echo site_url('admin/barang/delete/'.$val->idBarang);?>" onclick="return confirm('Are you sure ?')">Delete</a>

也许你需要我的控制器

public function delete($id = 0) {
    $id OR redirect(site_url('admin/barang'));

    $this->barang_m->delete($id);

    redirect(site_url('admin/barang'));
}

我的模特barang_m

public function __construct(){
    parent::__construct();
    parent::set_table('barang','idBarang');
}
public function delete($id = 0) {
    if($data = parent::get($id)) {
        parent::delete($id);
        return true;
    }
    return false;
}

但是当我点击取消时,即使我点击“x”关闭确认窗口,它仍然会删除数据。我很沮丧请帮助我。或者也许你可以告诉我为什么会出现这个问题?

**我alrady尝试了这个可能的答案
Codeigniter when i click delete i want pop up notification if if click yes or not
jQuery delete confirmation box
Confirm box in CodeIgniter anchor link to delete record 还有更多

4 个答案:

答案 0 :(得分:1)

按取消时需要停止打开链接页面。 但正如在代码中所见,它看起来像你错过了检查条件。 试试这可能会解决你的问题。

<a href="<?php echo site_url('admin/barang/delete/'.$val->idBarang);?>" onclick="isconfirm();">Delete</a>

<script>
function isconfirm(){

if(!confirm('Are you sure ?')){
event.preventDefault();
return;
}
return true;
}
</script>

答案 1 :(得分:1)

尝试

<a href="javascript:;" onclick="return isconfirm('<?php echo site_url("admin/barang/delete/".$val->idBarang); ?>');">Delete</a>

和你的功能一样

function isconfirm(url_val){
    alert(url_val);
    if(confirm('Are you sure ?') == false)
    {
        return false;
    }
    else
    {
        location.href=url_val;
    }
}

您也可以尝试

<a href="<?php echo site_url("admin/barang/delete/".$val->idBarang); ?>" class="confirmClick">Delete</a>

js将是

$('.confirmClick').click(()=> {
  var sure = confirm('Are you sure ?');
  if(sure){
    return true;
  }
  return false;
})

答案 2 :(得分:0)

这是因为你从按钮本身运行并返回它。所以你说,删除按钮并返回确认。

可能删除返回将起作用,或者创建一个函数并确保它不会返回它,但会将您想要的内容放入变量或其他内容。

答案 3 :(得分:0)

<a href="javascript:;" onclick="return confirm_Action('<?php echo base_url(); ?>index.php/admin/delete_department/<?php echo $dept['Dept_id']; ?>');" ><button> DELETE</button></a>

然后,您的函数confirm_Action可能是这样的:

//THis Allows Me To Control The Delete Actions
function confirm_Action(url){
// alert(url);
if(confirm('Are You Sure, This Action Can\'t Be Reversed?') == false)
{
    return false;
}
else
{
    location.href=url;
}

}

就像@M一样。迪帕克做到了......

谢谢......希望这会有所帮助