在此表单上,我有一些输入字段和一些用户不应编辑的选择框。
但是,无论如何我都需要插入那些无法使用的字段。
我正在考虑将这些值传递给隐藏字段(这应该在js中完成吗?); 并使用这些隐藏字段提交表单。
这是一个好方法吗?请指教。
答案 0 :(得分:2)
您可以使用隐藏字段将数据传递到表单中,但请记住,如果某人计划恶作剧,他们可以使用Firebug等工具编辑值并提交它们,因此依赖隐藏字段可能会导致问题
如果您想要保证安全,则必须在服务器端执行所有操作 - 检查客户端是否有权在提交表单时访问这些字段。如果他们这样做,采取他们提交的价值;否则,请使用存储在PHP代码中的默认值。
答案 1 :(得分:1)
只需使用表单中的隐藏字段,如下所示:
<input type="hidden" name="id" value="00001" />
不需要js。
答案 2 :(得分:1)
只需将它们放入hidden field:
echo $form->hiddenField($model,'property');
答案 3 :(得分:0)
我会选择禁用复选框,也可以只读取文本字段。问题是你知道他们被提交时应该具有什么价值。因此,在服务器端,您可以忽略它们并使用您选择的值。如果有人正在操纵帖子请求,请忽略数据。