Hi, I have written a custome module table for showing some information which is fetched from database and every row is having edit and delete actions. Both are working fine. But whenever I click on on edit or delete action action it opens in other window leaving current page. I want these actions to be taken place in pop-up window.
My table on drupal screen is as follows *SlNo* *Doctor Name* *Gender* *Status* *Action* 2 Jayaram Srinivasan male inactive Edit <http://localhost/fr/doctor/edit/2> | Delete<http://localhost/fr/doctor/delete/2> 3 Pavithra M female active Edit <http://localhost/fr/doctor/edit/3> | Delete<http://localhost/fr/doctor/delete/3> 4 Ravi Mandayam male active Edit <http://localhost/fr/doctor/edit/4> | Delete<http://localhost/fr/doctor/delete/4> when i click delete button i should get pop-up window with the dialogue like this; Are You Sure You Want To Delete This Doctor? This action cannot be undone. Cancel <http://localhost/fr/doctor> When I click edit button I should get my edit form, First Name: Last Name: Gender: male female Status: active inactive Cancel <http://localhost/fr/doctor> complete code of my module file is as follows: *<?php function doctor_menu() { $items = array(); $items['doctor'] = array( 'title' => t('Doctors'), 'page callback' =>'doctors_list', 'access arguments' => array('access doctor'), 'type' => MENU_NORMAL_ITEM, ); $items['doctor/delete/%doctor_user'] = array( 'title' => t('Delete doctor'), 'page callback' => 'drupal_get_form', 'page arguments' => array('doctor_delete_confirm', 2), 'access arguments' => array('access doctor'), 'type' => MENU_CALLBACK, ); $items['doctor/edit/%doctor_user'] = array( 'title' => t('Edit Form'), 'page callback' => 'drupal_get_form', 'page arguments' => array('doctor_edit_confirm', 2), 'access arguments' => array('access doctor'), 'type' => MENU_NORMAL_ITEM, ); return $items; } function doctors_list() { $header = array(t(Sl.No),t('Doctor Name'), t('Gender'), t('Status'), t('Action')); $query = "SELECT * FROM {doctor}"; $rs = db_query($query); $row = array(); if ($rs) { while ($data = db_fetch_object($rs)) { $doctorid = $data->doctorid; $gender = $data->gender; $status = $data->status ; $row[] = array($doctorid,stripslashes(ucwords($data->firstname)) . ' ' . stripslashes(ucwords($data->lastname)), $gender, $status, "<a href='doctor/edit/{$data->doctorid}'>" . t('Edit') . "</a> |<a href='doctor/delete/{$data->doctorid}'> ". t('Delete')."</a>" ); } } $str .= theme_table($header, $row); return $str; } function doctor_user_load($doctorid) { $query = "SELECT * FROM {doctor} WHERE doctorid = %d"; $rs = db_query($query, $doctorid); if ($rs) { while ($data = db_fetch_object($rs)) { return $data; } } return FALSE; } function popup() { window.confirm(); return false; } function doctor_delete_confirm(&$form_state, $doctor) { $form['_doctor'] = array( '#type' => 'value', '#value' => $doctor, ); return confirm_form($form, t('Are you sure you want to delete this doctor?'), isset($_GET['destination']) ? $_GET['destination'] : "doctor", t('This action cannot be undone.'), t('Delete'), t('Cancel')); } function doctor_delete_confirm_submit($form, &$form_state) { $form_values = $form_state['values']; if ($form_state['values']['confirm']) { $doctor = $form_state['values']['_doctor']; $query = "DELETE FROM {doctor} where doctorid= $doctor->doctorid"; $rs = db_query($query); drupal_set_message(t('Doctor has been deleted successfully.')); } drupal_goto("doctor"); } function doctor_edit_confirm(&$form_state,$doctor){ $form = array(); $form['_doctors'] = array( '#type' => 'value', '#value' => $doctor, ); $query = "SELECT * FROM {doctor} where doctorid=%d"; $rs = db_query($query,$doctor->doctorid); $data=db_fetch_object($rs); $firstname=$data->firstname; $lastname=$data->lastname; $gender1 = $data->gender; $gender = $gender1 ? 0: 1; $status1 = $data->status ; $status = $status1 ? 1: 0; $form['firstname']=array( '#title'=>t('First Name'), '#type'=>'textfield', '#default_value'=>$data->firstname, ); $form['lastname']=array( '#title'=>t('Last Name'), '#type'=>'textfield', '#default_value' => $lastname, ); $form['gender']=array( '#title'=>t('Gender'), '#type'=>'radios', '#options' => array(t('male'), t('female')), '#default_value' => variable_get('gender',$gender), ); $form['status']=array( '#title'=>t('Status'), '#type'=>'radios', '#options' => array(t('active'), t('inactive')), '#default_value' => variable_get('status',$status), ); return confirm_form($form,t(''), isset($_GET['destination']) ? $_GET['destination'] : "doctor", t(''), t('Save'), t('Cancel')); } function doctor_edit_confirm_submit($form, &$form_state) { if ($form_state['values']['confirm']) { $doctor = $form_state['values']['_doctors']; $form_state['values']['doctorid'] = $doctor->doctorid; $firstname = $form_state['values']['firstname']; $lastname = $form_state['values']['lastname']; $gender1= $form_state['values']['gender']; $gender = $gender1 ? t('female') : t('male'); $status1 = $form_state['values']['status']; $status = $status1 ? t('inactive') : t('active'); $query = "UPDATE {doctor} SET firstname = '$firstname', lastname= '$lastname', gender = '$gender', status = '$status' WHERE doctorid=%d"; $rs = db_query($query,$doctor->doctorid); } drupal_goto("doctor"); } *Any help appreciated.* * *Regards,* Mahesh Gajabar