如何知道哪个button被按下?

我正在学习node.js的基础知识和expression框架。 我有一个简单的页面,有两个button:

<form action="/home2" method="post"> <button name="butt1">butt1</button> <button name="butt2">butt2</button> </form> 

我想在控制台中看到哪个button被按下:

 router.post('/', function(req, res, next) { console.log(req.body.name); res.render('home2', { title: 'post' }); }); 

在控制台,我只是看到

 undefined 

我怎样才能访问button的名称?

我认为这对你有帮助。

 <form action="/home2" method="post"> <button name="butt1">butt1</button> <button name="butt2">butt2</button> </form> router.post('/home2', function(req, res, next) { if(req.body.hasOwnProperty("butt1")){ console.log("butt1 clicked"); }else{ console.log("butt2 clicked"); } res.render('home2', { title: 'post' }); }); 

你可以使用的一个技巧是使用这两个作为提交button:

 <form action="/home2" method="post"> <button name="button_id" value="1" type="submit">butt1</button> <button name="button_id" value="2" type="submit">butt2</button> </form> 

在服务器端,您现在应该获取button_id值为1或2,具体取决于哪个button被点击。

首先,因为你正在使用POST,我假设你已经有了body-parser中间件,如果没有检查Body Parser Middleware

你的代码需要一些改变

在HTML中

 <form action="/home2" method="post"> <button name="butt" value='1'>butt1</button> <button name="butt" value='2'>butt2</button> </form> 

并在expression

 router.post('/home2', function(req, res, next) { console.log(req.body.butt); res.render('home2', { title: 'post' }); }); 

req.body.name需要req.body.butt

/需要/home2