如何知道哪个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