当提交表单并且隐藏输入(例如将其显示设置为无)时,无法访问数据,对吧?就像它没有随表单一起提交一样,现在我的方法应该是什么,如果输入被隐藏,我仍然可以通过表单发送数据或可以访问
这里有一个包含五个不同输入元素的示例。
test1
只是简单的,test2
和 test3
的样式使它们不显示,test4
被禁用,但仍然显示,test5
具有隐藏类型。
提交表单时,唯一未包含的输入字段是禁用的 (
test4
)。
document.forms.form01.addEventListener('submit', e => {
e.preventDefault();
let data = new FormData(e.target);
console.log(...data);
});
<form name="form01">
<input type="text" name="test1" value="Test 1">
<input type="text" name="test2" value="Test 2" style="display:none">
<input type="text" name="test3" value="Test 3" style="visibility:hidden">
<input type="text" name="test4" value="Test 4" disabled>
<input type="hidden" name="test5" value="Test 5">
<button type="submit">Submit</button>
</form>