我有一个带有输入字段的表单。我能够从<script>. 我从 POST 请求中获取该值。但是当我尝试创建另一个具有相同输入字段(相同名称和 ID)的表单时,值注入不起作用。我无法解决问题。这是第一种情况的 html 和路由处理程序:<form role="form" action="/scale" method="POST" id="sc-form-scale"> <input type="hidden" name="filePath" id="filePath" value=""> <input type="submit" value="Submit for Scaling"> </form>app.post('/scale', function(req, res) { var myFilePath = req.body.filePath; res.redirect('/'); console.log(myFilePath); console.log(typeof myFilePath); });这是第二种情况:<form role="form" action="/rotate" method="POST" id="sc-form-rotate"> <input type="hidden" name="filePath" id="filePath" value=""> <input type="submit" value="Submit for Rotation"> </form> app.post('/rotate', function(req, res) { var myFilePath = req.body.filePath; res.redirect('/'); console.log(myFilePath); console.log(typeof myFilePath); });在第一种情况下,一切正常。这是我得到的 console.log 输出:/home/user1/Desktop/myPart.stepstring但这是我在第二种情况下得到的:string如您所见,它被识别为字符串,但它的值为空。我不明白为什么会这样。代码完全一样。
1 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
对于这两种形式,您都有 id filePath。您的 ID 应该是唯一的,但名称不一定是。听起来你是通过 id 设置值,所以你应该为id每个分配一个唯一的并单独设置它们,或者将它们设置为具有相同的类并使用querySelectorAll或类似的东西来一次选择多个元素。
例如,如果您将类分配'filePathClass'给两个输入,当您想要分配一个值时,您可以执行以下操作:
document.querySelectorAll('.filePathClass').forEach(function (fileInput) {
fileInput.value = '...';
})
添加回答
举报
0/150
提交
取消