【发布时间】:2020-08-11 19:43:09
【问题描述】:
我查看了this question 和this question as well,但使用<button> 标签的解决方案对我不起作用。
我认为这是因为我使用的是FormData,但我认为FormData 会获取所有提交的键和值。
这是一个简单的JSFiddle,用于我正在尝试做的事情,但它不起作用。我希望看到 first 和 second 值出现在 FormData 对象中,但只有 input-data 出现。
我需要能够确定提交表单时按下了哪个按钮。
function handleSubmit(event) {
event.preventDefault(); // don't have the browser refresh on submit
const formData = new FormData(event.target);
for (var pair of formData.entries()) {
console.log(pair[0]+ ' ==> ' + pair[1]);
}
}
const form = document.getElementById('form');
form.addEventListener('submit', handleSubmit);
<form id="form">
<input name="input-data"/>
<button type="submit" name="action" value="first">Submit</button>
<button type="submit" name="action" value="second">Another Submit</button>
</form>
【问题讨论】:
-
您的问题是什么?你的 JSFiddle 对我来说很好用。
-
问题已被编辑以解释我的预期
-
有关正在发生的事情和其他解决方法的更多信息,请参阅:stackoverflow.com/questions/38277900/…
-
如果表单直接通过keys
Crtl+Enter提交呢?
标签: javascript html form-data