我没有看到隐藏输入的好处吗?如果您设置隐藏输入的值为什么不在使用该值的地方引用此隐藏输入?
有理由,但我只是不认识他们.
解决方法
它们用于传递表单提交时需要的数据.更常见的情况之一是允许用户编辑一些现有条目的形式.您需要知道他们正在编辑哪个条目,以便在提交表单时更新数据库中的正确行.用户不需要编辑(甚至知道)条目的ID,因此隐藏的字段在这里很好.
其他选项
网址参数:
这也可以通过将表单建立到url中的参数来完成:
<form action="save.PHP?entry_id=1234">
但这意味着您必须妥善处理URL并自行转义数据,并且URL服务器将接受的长度受到限制,因此可能无法为更长的数据工作.所以通常使用隐藏的表单字段是更容易的方法.
会话变量:编辑页面加载时,您将会将条目ID存储在会话变量中,然后在保存更改的页面上检索.这很容易弄乱,设置和维护会话可能需要在几个不同的地方添加代码,然后他们的会话可能会在加载和保存之间过期,并且您必须确保它们有多个窗口或选项卡打开,并且您必须确保它当他们回击/前进时,不会做奇怪的事情.由于所有这些潜在的陷阱,它不是解决这个问题的好方法 – 传递id与提交的数据是更强大的.
Cookie:在许多语言/框架会话中使用Cookie进行跟踪,因此它们基本相同.这些陷阱与会话变量相同,即使通过其他方法跟踪会话.