我有一个表单,其中两个表单的值通过 javascript 获取它们的值。这些文件的值最终应存储在数据库中。
文本字段的值不适合普通用户,所以我使用了这种代码:
<input type="text" name="total" id="total" disabled="disabled" value="0"> EUR
奇怪的是,数据库中的值现在是 0
.
当我删除disabled="disabled
时,最终进入数据库的值是正确的。
这是怎么发生的?是否可以阻止您的客户修改输入字段的内容,同时仍然在数据库中获取正确的值?
最佳答案
<input type="text" name="total" id="total" readonly="readonly" value="0"> EUR
改用只读属性。
Disable 的作用正如它听起来的那样,它禁用该字段,并且信息不会通过表单发送到服务器端脚本。因此,服务器端脚本在读取该变量时将获取 null。
至于你的第二个问题,你不应该依赖像这样的客户端验证(javascript)。这样做很好,但你也应该在服务器端这样做。这背后的原因是因为您无法 100% 控制客户端计算机上发生的情况(用户可以在数据包级别进行修改并绕过您实现的任何客户端验证)。
关于php - php 未获取 javascript 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6470503/