有没有办法获取我们按下的提交按钮的ID /名称?
我在每列上都有一个删除按钮的表。我想获取名称或ID以了解我需要删除哪一行
<form method="post" action="delete">
<input type="submit" id="1" name="1" value="Delete">
<input type="submit" id="2" name="2" value="Delete">
</form>
当我说我需要id或名字时,我想要服务器端。
我试过这样的事情
app.post('/delete/:id', function(req, res) {
但是如何使用:id作为使用它的变量
答案 0 :(得分:1)
使用req.params.id
请参阅http://expressjs.com/en/api.html#req.params
顺便说一句,你的行动只是说&#34;删除&#34;它是一个带有提交按钮的表格POST。因此它不会生成您需要的URL,即/ delete /:id。
您需要使用一些客户端JS和点击事件动态生成URL。
答案 1 :(得分:0)
创建一个隐藏的输入,在提交之前,将id的值写入此输入。 jQuery示例:
jQuery(document).on('click', 'form > button', function(){
jQuery('input[hidden]').val(jQuery(this).attr('id'));
});
答案 2 :(得分:0)
我不认为名称值与元素ID具有相同的限制,但我会使用一个不以数字开头的更明确的名称。
标准方法是将快速body-parser添加为middlware,然后数据将在req.body中提供。
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
app.post('/delete/:id', function(req, res) {
console.log(req.body.1);
});
答案 3 :(得分:0)
如果您想根据ID或名称生成URL,那么我建议不要使用表单。而是根据需要将所有输入包含在div或其他元素中,并为所有输入提供一个公共类,如下所示。
<div>
<input type="submit" class="myClass" id="1" name="1" value="Delete">
<input type="submit" class="myClass" id="2" name="2" value="Delete">
</div>
然后在jquery中,您可以执行以下操作
$('.myClass').click(function(){
var url= "/delete/" + this.id;
$.post(url, function(data) {
....
});
});