7

次のコードを使用して、データベースからレコードを削除しています。しかし、私は問題に直面しています。確認ボックスの「キャンセル」をクリックすると、レコードが削除されます。クリックcancelするとfalseが返されますが、レコードを削除するにはどうすればよいですか?

何が悪いのですか?

Javascriptコード:

function ConfirmDialog() {
  var x=confirm("Are you sure to delete record?")
  if (x) {
    return true;
  } else {
    return false;
  }
}

ビュー内のPHPコード:

<?php
  echo anchor('user/deleteuser/'.$row->id, 'Delete', array('class'=>'delete', 'onclick'=>"return ConfirmDialog();"));
?>
4

8 に答える 8

12

一行ですべて

<?=anchor("user/deleteuser/".$row->id,"Delete",array('onclick' => "return confirm('Do you want delete this record')"))?>
于 2013-10-21T11:28:29.623 に答える
8

これを試して:

<a href="javascript:void(0);" onclick="delete(<?php echo $row->id;?>);">Delete</a>

スクリプトでこれを使用します。

<script type="text/javascript">
    var url="<?php echo base_url();?>";
    function delete(id){
       var r=confirm("Do you want to delete this?")
        if (r==true)
          window.location = url+"user/deleteuser/"+id;
        else
          return false;
        } 
</script>
于 2013-03-06T07:06:16.513 に答える
5

コンソールでJavascriptエラーが発生していますか?他のJavascriptが干渉しているのではないかと思います。この簡単なテストページは正常に機能します。

<?php echo anchor('user/deleteuser/'.$row->id, 'Delete', array('class'=>'delete', 'onclick'=>"return confirmDialog();")); ?>

<script>
function confirmDialog() {
    return confirm("Are you sure you want to delete this record?")
}
</script>
于 2013-03-06T06:34:43.870 に答える
1

あなたの見解では:

<?= anchor("admin/delete_article/{$article->id}", 'Test', ['name'=>'submit', 'value'=>'Delete', 'class'=>'btn btn-danger', 'onclick'=>'return confirm()']);
?>

また

<?=
form_open('admin/delete_article'),
form_hidden('article_id', $article->id),
form_submit(['name'=>'submit', 'value'=>'Delete', 'class'=>'btn btn-danger', 'onclick'=>'return confirm()']),
form_close();
?>

ビュー内のJavaScript:

<script>
function confirm(){
  job=confirm("Are you sure to delete permanently?");
if(job!=true){
  return false;
  }
}
</script>

ここでwebGautamの回答を参照してください

于 2018-06-12T01:04:09.847 に答える
0

私は自分のコードでこれを使用しています

<a href='<?php site_url('controler/function/$id');?>' onClick='javascript:return confirm(\"Are you sure to Delete?\")'>Delete</a>
于 2013-03-06T06:32:57.603 に答える
0

これを試して

<a href="javascript:;" onclick="return isconfirm('<?php echo site_url('user/deleteuser/'.$row->id); ?>');">Delete</a>

その場合、関数は次のようになります。

function isconfirm(url_val){
    alert(url_val);
    if(confirm('Are you sure you wanna delete this ?') == false)
    {
        return false;
    }
    else
    {
        location.href=url_val;
    }
于 2018-03-12T09:14:01.497 に答える
0
 <?= 
      form_open('admin/delete_noti'),
      form_hidden('noti_id',$notification->id),
     form_submit('submit','Delete',array('onclick' => "return confirm('Do you want delete this record')",'class'=>'btn btn-danger float-center')),
      form_close();
    ?>

これが削除コードです。まず、フォームadminを開きます。これはコントローラー名であり、delete_notiはadminコントローラー内の関数です。idを非表示のフォームとして送信しています。ここで$notificationは、コントローラーで使用可能なメソッドを介して渡される変数です。

于 2018-10-14T15:41:37.710 に答える
0

最後に、javascriptの確認が必要な場合は、ユーザーがクリックすると確認を求められ、ユーザーが[OK]をクリックすると削除されます。行がすでに削除されているときに確認を求めています。

ビューページ:-

<td><a href="<?php echo base_url().'user/deleteuser/'.$user['user_id'];?>" class="btn btn-danger" onclick="return confirm('Are you sure want to Delete this User?')">DELETE</a></td>

コントローラーコード:-

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class user extends CI_Controller {

public function deleteuser($userid)
    {
      $this->db->delete('user', array('user_id'=>$userid)); 
      $this->session->set_flashdata('success','User deleted Successfully!!!');
            redirect(base_url().'admin/user');
    }
}
?>  

次に、成功メッセージを表示します:-

<div class="row col-md-12">
<?php 
   if($this->session->flashdata('success')){
 ?>
   <div class="alert alert-success "  style="display:none;"> 
     <?php  echo $this->session->flashdata('success'); ?>
<?php    
} else if($this->session->flashdata('error')){
?>
 <div class = "alert alert-danger"  style="display:none;">
   <?php echo $this->session->flashdata('error'); ?>
 </div>
<?php } ?>

</div></div>    
    
于 2020-08-11T06:28:07.453 に答える