这看起来很简单,但我无法弄清楚。我正在尝试取回按钮的值,以便我可以有条件地呈现页面模板。但我似乎无法捕捉按钮的值(value)。 这是我的 js 代码。
app.get("/trades", (req, res) => { // line 465
let button_value = req.params.value;
console.log(button_value);
// res.render("activate_pause")
});
这是我的 html/ejs 标记:
<form action="/trades" methods="get, post" name="groups_button">
<button class="orange" type="submit" name="frontpage_trades_button" value="pause">Pause Campaigns</button>
<button type="submit" name="frontpage_trades_button" value="enable">Activate Campaigns</button>
</form>
值“pause”或“enable”将用于设置 true 或 false 状态,这将呈现所需的模板(或者我希望如此!)。谁能帮忙吗?
最佳答案
methods
不是 <form>
的有效属性元素
console.log('Is method in <form>?: ', 'method' in HTMLFormElement.prototype);
console.log('Is methods in <form>?: ', 'methods' in HTMLFormElement.prototype);
所以首先要做的就是替换methods
与 method
并仅设置一种方法(我建议 POST
)。
然后在 Node.js 代码中,确保您有正确的中间件来解码 URL 编码形式:
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
这应该允许您检索单击的按钮的值,如下所示:
app.post("/trades", (req, res) => {
let button_value = req.body.frontpage_trades_button;
console.log(button_value);
// res.render("activate_pause")
});
关于javascript - 如何从表单中的按钮接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60765092/