gpt4 book ai didi

javascript - 从 FormData 对象填充 HTML 表单

转载 作者:太空狗 更新时间:2023-10-29 14:15:41 24 4
gpt4 key购买 nike

是否可以存储表单的 FormData 对象,然后使用该 FormData 对象将存储的 FormData 值重新填充回表单?

例如:HTML

<form id="test_form">
<input type="text" name="last_name" placeholder="Last Name"/><br/>
<input type="text" name="first_name" placeholder="First Name"/><br/>
<input type="date" name="date_of_birth" placeholder="Date of Birth"/><br/>
</form>

Javascript

var f = document.getElementById('test_form');
var data = FormData(f);
...
// mythical function to translate FormData back into form values
f.values(data);

最佳答案

使用 thisthis ,这是我序列化和反序列化表单数据的方式:

function formSerialize(form) {
const data = new FormData(form);
//https://stackoverflow.com/a/44033425/1869660
return new URLSearchParams(data).toString();
}

function formDeserialize(form, data) {
const entries = (new URLSearchParams(data)).entries();
for(const [key, val] of entries) {
//http://javascript-coder.com/javascript-form/javascript-form-value.phtml
const input = form.elements[key];
switch(input.type) {
case 'checkbox': input.checked = !!val; break;
default: input.value = val; break;
}
}
}

警告:formDeserialize()不会清除未包含在存储数据中的字段,例如空单选组或复选框。此外,未对所有 <input> 进行测试类型。

关于javascript - 从 FormData 对象填充 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com