零基础可实现静态html表单收集数据,用验证逻辑,通过url参数传递和location.search解析结果,需注意name属性、required校验及提交反馈。

零基础也能做出来,但必须绕开“全功能问卷系统”这个陷阱——你真正需要的只是一个能收集、提交、查看答案的静态 HTML 表单,不依赖后端服务器也能本地跑通。
用 <form></form> + method="get" 快速验证逻辑
别一上来就琢磨怎么存数据库。先让表单能“动起来”:用户点提交,浏览器地址栏出现带参数的 URL,比如 ?name=张三&age=25&like=前端。这就是最轻量的反馈验证。
-
method="get"会让所有字段明文拼在 URL 后,适合调试,但别用于密码或敏感信息 - 每个
<input>或<select></select>必须有name属性,否则不会被提交 - 加
required属性可触发浏览器原生校验(如空必填提示),无需写 JS - 本地双击打开 HTML 文件时,
get方式仍可工作;post则可能因跨域被浏览器拦截
单选/多选/下拉菜单的 name 和 value 必须对齐
常见错误是多个单选按钮 name 不一致,导致只能选一个却无法提交值;或多选 checkbox 忘了加 [] 后缀(虽然 HTML 标准不强制,但后续若对接简单脚本会更省事)。
- 单选组:
<input type="radio" name="gender" value="male">男和<input type="radio" name="gender" value="female">女——name相同,value不同 - 多选框:用
name="hobby[]"或name="hobby"都行,但多个同名input提交时,只有最后一个值会被保留(除非用 JS 收集) - 下拉菜单:
<select name="city"><option value="bj">北京</option></select>—— 提交的是value,不是显示文字
提交后想看结果?用 location.search 解析 URL 参数(纯前端)
不需要服务器,用几行 JS 就能在新页面或弹窗里把用户刚填的内容列出来。核心是读取 location.search 并解析成对象。
const params = new URLSearchParams(location.search);
for (const [key, value] of params) {
console.log(key, value); // 如:name → 张三
}
- 这段代码放在提交后的页面(比如
result.html)里即可运行 - 注意:如果表单
action没指定,默认提交到当前页,会刷新并丢失原始内容;建议显式设为action="result.html" -
URLSearchParams在 IE 中不支持,如需兼容老版本,得换正则或第三方 polyfill
真正的难点不在写表单,而在于“用户填完以为结束了,但你没告诉 TA 数据去哪了”。哪怕只是在 result 页面写一行 感谢提交!您填的信息:{name},{age},也比空白页强得多。别跳过这一步。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











