Передача значений строк таблицы в окно предупреждения и их удаление - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть страница просмотра, на которой перечислены все данные в табличном представлении с опциями редактирования и удаления для каждой строки.

Создано поле подтверждения для удаления, когда мы нажимаем кнопку «Удалить» с помощью прослушивателя событий.

Я понятия не имею, как передать значение строки выбранной кнопки удаления в поле подтверждения и удалить его в MongoDB .

Просмотр страницы JavaScript выглядит следующим образом,

// This is mongodb credentials
const MongoClient = require('mongodb').MongoClient;
var express = require('express');
var router = express.Router();
let db;

MongoClient.connect('mongodb+srv://<mongodb-credential>', 
{ useUnifiedTopology: true }, (err, client) => {
  if (err) return console.log(err)
  db = client.db('<db-name>')
})

router.get("/", async (req, res) => {
  db.collection('test').find().toArray((err, result) => {
    if (err) return console.log(err);
    res.render('viewpage', {title: 'Material View Page', data: result});
});
});

router.delete('/removepage', (req, res) => {
  db.collection('test').deleteOne(req.body, (err, result) => {
    if (err) return console.log(err);
    console.log('Deleted in database')
    res.redirect('/');
  });
});

module.exports = router; 

Просмотр шаблона страницы выглядит следующим образом,

extends layout

block content
  h1(style='text-align:center')= title
  button(type='submit', onClick='add()') Add a Material
  script(src='/javascripts/event.js' defer)
  script.
    function add() {
      window.location.href = '/addpage'
    }
    function edit() {
      window.location.href = '/editpage'
    }
  br
  br
  -var product = data
  div
  table.table.table-hover(border='1', style='width:100%', id='content')
    tr(id='row')
        th Sl.No
        th Plant
        th Material
        th Currency
        th Rate
        th Price_Unit
        th Cond_Unit
        th Customer
        th Portal_User
        th Options
    tbody
      each value in product
        tr(id='tbl')
          td(style='text-align:center')
          td(style='text-align:center', name='p_plant')= value.PLANT
          td(style='text-align:left', name='p_material')= value.MATERIAL
          td(style='text-align:left', name='p_currency')= value.CURRENCY
          td(style='text-align:right', name='p_rate')= value.RATE
          td(style='text-align:center', name='p_price_unit')= value.PRICE_UNIT
          td(style='text-align:left', name='p_cond_unit')= value.COND_UNIT
          td(style='text-align:left', name='p_customer')= value.CUSTOMER
          td(style='text-align:left', name='p_portal_user')= value.PORTAL_USER
          td(style='text-align:left')
            ul
              a.btn.btn-default(href='/editpage/'+value.PLANT+'/'+value.MATERIAL+'/'+value.CUSTOMER+'/'+value.RATE+'/'+value.CURRENCY+'/'+value.PRICE_UNIT+'/'+value.COND_UNIT+'/'+value.PORTAL_USER) Edit
              br
              br
              a.btn.btn-default(href='' id='delete') Delete

Прослушивание событий для кнопки «Удалить» выглядит следующим образом:

var button = document.getElementById('delete');

function myFun() {
    var checking = confirm('Are you sure to delete?');
    if(checking) {
        alert('Ok')
    } else {
        alert('Cancel')
    }
}

button.addEventListener('click', myFun);

Может ли кто-нибудь сказать мне, как передать выбранные значения строки таблицы в поле подтверждения, а также удалить его в MongoDB при нажатии кнопки Ok

...