表单元素之搭车系
对于表单元素,除了reset元素,只要有name与value都能提交
因为在我们印象中,只有能选择的,能填空的,就是我们要提交的。但浏览器还提供一种机制,让我们能让除了用户自己添加的东西外,还能偷偷地提交“额外”的东西。 这些搭顺风车的东西,目前有三种,input[type=hidden],input[type=submit],input[type=image]
偷偷加的东西,目的是不让用户填这么东西。比如某些报表,它是由多个表单组成,上一页用户提交的东西,下一页还要用户提交,此外还有验证用户合法性的令牌(token),也需要我们偷偷塞到表单里面。
我们可以看一下下表。
< xmp > <! DOCTYPE html> < html > < head > < title >by 司徒正美</ title > < meta charset="UTF-8"> < meta name="viewport" content="width=device-width, initial-scale=1.0"> </ head > < body > < form url="/"> < fieldset >< legend >hidden+submit</ legend > < input type="hidden" name="aaa" value="eee"/> < input type="reset" name="test" value="ooo" > < input type="submit" name="submit" value="xxx"/> </ fieldset > </ form > < form url="/"> < fieldset >< legend >hidden+image</ legend > < input type="hidden" name="bbb" value="eee"/> < input type="reset" name="test" value="ooo" > < button type="button" name="ccc" value="ddd">btn</ button > < input type="image" name="submit" value="yyy"/> </ fieldset > </ form > < form url="/"> < fieldset >< legend >hidden+button</ legend > < input type="hidden" name="ccc" value="eee"/> < input type="reset" name="test" value="ooo" > < button name="submit" value="zzz" >xxx</ button > </ fieldset > </ form > < form url="/"> < fieldset >< legend >hidden+reset</ legend > < input type="hidden" name="ccc" value="eee"/> < input type="reset" name="submit" value="ooo" > </ fieldset > </ form > </ body > </ html > </ xmp > |
我们一一点击,就知道发现什么回事了。
隐藏域就不用说了,它肯定会提交。
submit按扭会携带其自身的name,value提交到后台,这样我们就可以少写一个隐藏域。
image按钮这里写不怎么规范,它其实还要一个src属性,指定一个图片,提交时,地址变成这样的:
http: //localhost:8383/avalon/newhtml.html?bbb=eee&submit.x=7&submit.y=8&submit=yyy |
image能提交你当时的点击位置,因此在早些年,可以防止机器人刷单刷评论!
如果button标签不指定type值,那么它会默认是submit,其效果与input[type=submit]相同!
reset按钮不会提交,因此没有反应。
此外,总结一下各种提交表单的方式:
- 点击input[type=submit]
- 点击input[type=image]
- 点击button[type=submit]
- 在文本域或密码域等可以填空的表单元素内回车!
如果您觉得此文有帮助,可以打赏点钱给我支付宝1669866773@qq.com ,或扫描二维码


机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2013-01-28 请参与投票禁止GFW参与者进入美国
2011-01-28 节点排序
2010-01-28 Dmitry Baranovskiy的javascript谜题
2010-01-28 全世界最短的IE判定