سؤال

أقوم بموقع إدارة الاتصال في Codeigniter ، لدي وظيفة تحذف جهة الاتصال بناءً على المعرف.

على سبيل المثال ، سيكون للصفحة جميع جهات الاتصال المدرجة. وسيكون لكل جهة اتصال رابط يقول حذف بالقرب منه. سيكون الرابط إلى الوظيفة التي تمرير المعرف ، مثل:

www.site.com/index.php/action/delete/23

لذلك أريد مربع تأكيد أن يسأل المستخدم ، نعم أو لا لكل رابط. لذلك إذا ضغط المستخدم نعم ، فسيتم حذفه وإلا فلن يحدث شيء. أتمنى أن أكون واضحا.

هل كانت مفيدة؟

المحلول

تحتاج إلى موجه Javascipt:

JS الخاص بك

function confirm_delete(){
    var r=confirm("Are you sure?");
    if (r==true){
      //Do somthing
    }else{
      //cancel
    }
}

ثم أضف حدث onclick إلى الرابط الخاص بك.

<a href="#" onclick="confirm_delete();">Delete</a>

إذا كنت تريد شيئًا لامعًا وأقل تدخلاً ، فقد أقترح jQuery مع أحد ملحقات حوار تأكيد تأكيد.

http://projectshadowlight.org/jquery-easy-confirm-dialog/

http://kailashnadh.name/code/jqdialog/

نصائح أخرى

يمكن أن يكون لديك صفحة تأكيد مع نموذج لنشره إلى عنوان URL نفسه. في وحدة التحكم ، تحقق مما إذا كان قد تم تقديم النموذج. إذا كان ، احذف جهة الاتصال. إذا لم يكن كذلك ، فاعرض صفحة التأكيد.

function delete($id)
{
    if ($this->input->post('confirm'))
    {
        $this->contact_model->delete($id);
    }
    else
    {
        $contact = $this->contact_model->get_contact($id);
        $this->load->view('delete_confirm', array('contact' => $contact));
    }
}

إذا كنت لا تحب فكرة صفحة إضافية ، فيمكنك استخدام بعض JavaScript لعرض مربع تأكيد والقيام بنشر Ajax إذا أكد المستخدم.

يحرر :

تمامًا جانباً ، ما كنت أتجنب فعله هو تنفيذ الحذف من خلال الحصول على HTTP. يمكن أن يحذف العنكبوت أو الروبوت الذي يتبع روابط الحذف عن غير قصد جميع جهات الاتصال. من الأفضل استخدام منشور HTTP.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top