JavaScript通过DOM操作表单,核心是获取元素、监听事件(submit/input/blur)、读写值(value/checked)和验证提交;需注意preventDefault及事件时机差异。
JavaScript 通过操作 DOM 来读取、验证、提交和动态控制 HTML 表单,核心是获取表单元素、监听事件、处理用户输入。
常用方式有三种:
document.getElementById('username')
document.querySelector('form#login') 或 document.querySelector('[name="email"]')
访问页面所有表单,如 document.forms[0] 或 document.forms['myForm']
关键事件包括:
上,触发时默认会跳转或刷新页面,需用 event.preventDefault() 阻止input.addEventListener('input', () => { console.log(input.value); })
不同控件获取值的方式略有差异:
input[type="text"]、textarea):用 element.value
input[type="radio"]、input[type="checkbox"]):检查 element.checked,复选框需遍历所有同名项select):用 select.value 获取选中值,或 select.options[select.selectedIndex].text 获取显示文本.value 或 .checked 即可前端验证不是为了替代后端,而是提升体验:
element.checkValidity()(配合 required、type="email" 等原生属性)submit 事件中统一判断,任一失败就 preventDefault() 并提示fetch() 发送 AJAX,之后手动清空或重置表单:form.reset()
基本上就这些。不复杂但容易忽略细节,比如忘记阻止默认行为,或混淆 input 和 change 的触发时机。