下面两个表单点了不会真的跳转(脚本里拦掉了提交),只把要发送的数据打印出来。
注意 label for 与 input id 成对出现——点标题文字就能聚焦到输入框,读屏也靠它念出这个框是什么。
浏览器把带 name 的控件收集成键值对:
name 的控件不会被发送,写了一堆 id 而漏了 name 是表单收不到数据的第一大原因。method="get":数据拼在 URL 问号后面,会进浏览器历史、可能被日志记录 —— 只用于搜索、筛选这类可分享的查询。method="post":数据在请求体里 —— 登录、写入、上传一律用它。enctype 时默认 application/x-www-form-urlencoded;上传文件必须写 enctype="multipart/form-data"。<button> 在表单里默认就是 type="submit";不想提交的按钮(比如「清空」)必须显式写 type="button",否则会误触发提交。