有一个带有选择器、输入、单选、复选框等的表单。更新时需要保存数据(localstorage帮我)
但我有一个问题,需要对许多复选框、选择器等进行排序,例如,如何将此数据放入一个对象中?创建嵌套对象?
以下是我设法实现的)
let form = document.querySelector('form')
let input = document.querySelector('input')
let textarea = document.querySelector('textarea')
let checkbox = document.querySelector('input[type=checkbox]')
let radiobuttons = document.querySelectorAll('input[type=radio]:checked')
if (localStorage.getItem('param') !== null) {
let param = JSON.parse(localStorage.getItem('param'));
input.value = param.input
textarea.value = param.textarea
checkbox.checked = param.checkbox
}
document.addEventListener('input', function(e) {
localStorage.setItem('param', JSON.stringify({input: input.value, textarea: textarea.value, checkbox: checkbox.checked}))
})
<form action="">
<input type="text"/>
<textarea name="t" id="text"></textarea>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id=""/>
<label class="form-check-label" for=""> Default checkbox </label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id=""/>
<label class="form-check-label" for=""> Checked checkbox </label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="" id=""/>
<label class="form-check-label" for=""> Default radio </label>
</div>
<div class="form-check">
<input
class="form-check-input"
type="radio"
name=""
id=""
/>
<label class="form-check-label" for=""> Default radio </label>
<div class="form-check">
<input
class="form-check-input"
type="radio"
name=""
id=""
/>
<label class="form-check-label" for=""> Default radio </label>
</div>
<select name="select" id="select">
<option value="name1">name1</option>
<option value="name2">name2</option>
<option value="name3">name3</option>
</select>
</div>
</form>