2014-11-23 21 views
2

我想做一个NodeJS Web应用程序,在用户输入一个文本框中,然后将它用于基于哪个按钮被点击的两个功能之一(客户端)。我
1)可以调用基于不同的动作在其上点击按钮 或
2)传递的东西后身体区分两个按钮我怎么能告诉我的NodeJS服务器哪个按钮被点击在一个HTTP窗体中有两个按钮?

我注意到,我得到两个不同的反应安慰。用不同的按钮按下时用下面的代码记录(req.body)。 当我点击提交按钮,我得到 “{处理:'blahblahblah',hadunkachud:''}” 当我点击新鲜的按钮,我得到“{处理:'blahblahblah',hingle:''}”

但是,我不能想出一个办法来访问响应的独特之处,因为试图访问req.body的第二阵列值给我什么下方

代码是在玉

extends layout 

block content 
    h1= title 
    form#formEnterHandle(name="enterhandle",method="post",action="/showid") 
     input(type="text", placeholder="themirage", name="handle") 
     button(name = "hadunkachud", type="submit") submit 
     button(name = "hingle", type = "submit") fresh 

回答

2

使用输入代替按钮,您可以传递值:

extends layout 

block content 
    h1= title 
    form#formEnterHandle(name="enterhandle",method="post",action="/showid") 
     input(type="text", placeholder="themirage", name="handle") 
     input(name="submit", value = "hadunkachud", type="submit") 
     input(name="submit", value= "hingle", type = "submit") 

现在发布的submit值应该等于您点击的任何按钮。

+0

当我尝试运行代码时出现错误: “input is self closing and should not content”(for the button names),but I解决了它通过在输入内添加value =“fresh”来获取按钮文本正确显示 – user3152741 2014-11-23 06:14:48

+0

如果我的其他按钮是删除按钮会怎么样?我会如何分辨? – codeinprogress 2016-05-24 03:43:13

+0

@codeinprogress我会有一个删除按钮提交一个单独的表单,发送一个'DELETE'请求而不是'POST' - 如果你正确设置你的路由,它应该击中一个单独的节点控制器。 – AlienWebguy 2016-05-30 21:49:19

相关问题