У меня есть страница просмотра, на которой перечислены все данные в табличном представлении с опциями редактирования и удаления для каждой строки.
Создано поле подтверждения для удаления, когда мы нажимаем кнопку «Удалить» с помощью прослушивателя событий.
Я понятия не имею, как передать значение строки выбранной кнопки удаления в поле подтверждения и удалить его в 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