我目前在一个invent.ejs文件中有两种不同的形式:
一个用于简单描述:
///inven.ejs
<form method="POST" value="inven">
<div id="some-form" style="display: none;">
<table>
<tr>
<td><label for="item">Item</label></td>
<td><input type="text" name="item" required/></td>
</tr>
<tr>
<td><label for="text-box-value">Value</label></td>
</tr>
<tr>
<td><label for="comments">Comments</label></td>
<td><textarea rows="4" cols="50" required></textarea></td>
</tr>
<tr>
<td><input type="submit" /></td>
</tr>
</table>
</div>
</form>
和另一个文件上传:
///inven.ejs
<div id="fileUp">
<form id="fileUpload" name="fileUpload" enctype="multipart/form-data" method="post">
<fieldset>
<input type="file"id="fileSelect">
<input type="submit" name="upload" value="upload">
</fieldset>
</form>
</div>
在express中,如何区分list.js文件中的这两个帖子?
router.post('/list', function(req,res){
// ???
});
我需要两个路由器吗?我完全不正确吗? 谢谢!
修改 包含图片,如果有帮助吗?
答案 0 :(得分:2)
将表单发布到不同的地址是有意义的。
即<form id="fileUpload" action="file_upload" ... >
然后,如果在http://server/my_form
找到该表单,则会发布到http://server/file_upload
在你的Node.js路由器中,你需要抓住它并完成。
如果您仍希望将两个表单发送到同一地址,则可以使用隐藏字段。
示例:<input type="hidden" name="form_type" value="file_up_form">
。然后在Node.js中检查参数form_type
并检查其值。