Keystone JS 在 HTML table 中检索行 ID
Keystone JS retrieve row ID in HTML table
我在更新一些信息时遇到了一些问题:
我有一个数组,其中每一行都是一个表格。这是玉的样子:
each info in infos
form(method="post")
input(type='hidden', name='action', value='save')
td
input(value='#{info.name.full}' disabled).form-control
td
input(value='#{info.field}' disabled).form-control
td
input(value='#{info.field1}' disabled).form-control
td
input(value='#{info.field2}' disabled).form-control
td
input(value='#{info.field3}' disabled).form-control
td
input(value='#{info.field4}' disabled).form-control
td
input(value='#{info.field5}' disabled).form-control
td
input(value='#{info.field6}' disabled).form-control
td
input(value='#{info.field7}' disabled).form-control
td
select(name='status').form-control
option(value="")=(require)
option(value="bla")="Bla"
option(value="blabla")="Bla bla"
option(value="blablabla")="Bla bla bla"
option(value="blablablabla")="Bla bla bla bla"
td
button(type='submit').btn.btn-primary Save
而且我希望能够保存每一行,但在单击 "save" 时无法检索 ID。
我的 JavaScript 看起来像这样:
view.on('post', { action: 'save' }, function (next) {
var application = new Info.model();
var updater = application.getUpdateHandler(req);
updater.process(req.body, {
flashErrors: true
}, function (err) {
if (err) {
locals.validationErrors = err.errors;
} else {
locals.updateSubmitted = true;
}
next();
});
});
但我想我不明白 updateHandler 是如何工作的。
有谁知道如何通过检索 ID 来保存行?
为了解决这个问题,我添加了
input(type='hidden', name='id', value='#{info.id}')
就在
之后
input(type='hidden', name='action', value='save')
然后我可以访问数据:
console.log(req.body.id);
console.log(req.body.item1);
然后我更新了我的 table :
Info.model.findByIdAndUpdate(req.body.id, { $set: {field1: req.body.item1, field2: item2}},
function(err, info) {
if (err) {
next(err);
}
});
希望这对你们中的一些人有所帮助。
我在更新一些信息时遇到了一些问题:
我有一个数组,其中每一行都是一个表格。这是玉的样子:
each info in infos
form(method="post")
input(type='hidden', name='action', value='save')
td
input(value='#{info.name.full}' disabled).form-control
td
input(value='#{info.field}' disabled).form-control
td
input(value='#{info.field1}' disabled).form-control
td
input(value='#{info.field2}' disabled).form-control
td
input(value='#{info.field3}' disabled).form-control
td
input(value='#{info.field4}' disabled).form-control
td
input(value='#{info.field5}' disabled).form-control
td
input(value='#{info.field6}' disabled).form-control
td
input(value='#{info.field7}' disabled).form-control
td
select(name='status').form-control
option(value="")=(require)
option(value="bla")="Bla"
option(value="blabla")="Bla bla"
option(value="blablabla")="Bla bla bla"
option(value="blablablabla")="Bla bla bla bla"
td
button(type='submit').btn.btn-primary Save
而且我希望能够保存每一行,但在单击 "save" 时无法检索 ID。
我的 JavaScript 看起来像这样:
view.on('post', { action: 'save' }, function (next) {
var application = new Info.model();
var updater = application.getUpdateHandler(req);
updater.process(req.body, {
flashErrors: true
}, function (err) {
if (err) {
locals.validationErrors = err.errors;
} else {
locals.updateSubmitted = true;
}
next();
});
});
但我想我不明白 updateHandler 是如何工作的。
有谁知道如何通过检索 ID 来保存行?
为了解决这个问题,我添加了
input(type='hidden', name='id', value='#{info.id}')
就在
之后input(type='hidden', name='action', value='save')
然后我可以访问数据:
console.log(req.body.id);
console.log(req.body.item1);
然后我更新了我的 table :
Info.model.findByIdAndUpdate(req.body.id, { $set: {field1: req.body.item1, field2: item2}},
function(err, info) {
if (err) {
next(err);
}
});
希望这对你们中的一些人有所帮助。