【问题标题】:Javascript delete confirmation box in codeigniterJavascript删除codeigniter中的确认框
【发布时间】:2016-11-20 14:34:45
【问题描述】:

首先,我已经尝试了这个网站上所有可能的答案,但没有什么对我有用。

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

 <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”关闭确认窗口,它仍然会删除数据。我很沮丧,请帮助我。或者你能告诉我为什么会出现这个问题?

**我已经尝试过这个可能的答案
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 还有更多

【问题讨论】:

标签: javascript php jquery codeigniter


【解决方案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;
})

【讨论】:

  • 为什么不 onclick="return confirm('are you sure')" ?不需要单独的功能 ^^
  • 但是 onclick="return confirm('are you sure..?')" 对我来说工作正常。在你的情况下,我找不到问题是...... :(
【解决方案2】:

当您按下取消时,您需要停止页面打开链接。 但是从代码中可以看出,您似乎错过了检查的条件。 试试这个可能会解决你的问题。

<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>

【讨论】:

  • 谢谢你的回答,我认为你的应该可以,但是当我点击取消时它不起作用 T_T 它仍然删除了数据。我在我的问题中添加了我的控制器和模型,可能有问题。
【解决方案3】:

这是因为您将它从按钮本身中运行出来并返回它。所以你的意思是,删除按钮并返回确认。

可能删除 return 会起作用,或者创建一个函数并确保它不会返回它,而是将你想要的东西放在变量或其他东西中。

【讨论】:

    【解决方案4】:
    <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 一样。迪帕克做到了……

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-20
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多