如何防止预先设置的INPUT值被更改?

How do I prevent a pre-set INPUT value from being changed?

本文关键字:INPUT 何防止 设置      更新时间:2023-09-26

我有一个表单,其中一些字段是通过从数据库加载信息来完成的。这些字段可能因帐户而异。

当提交表单时,任何数据库信息将与表单中输入的新信息一起发送。

但是,用户能够更改(在屏幕上)从数据库输入的信息,尽管这些更改没有提交(来自数据库的$ x变量覆盖了已发布的$变量),但我希望它们将屏幕上的数据还原回数据库值。

这是我目前拥有的一个例子,但是它不起作用…

  <input type="text" name="firstname" size="25" tabindex="4" onchange="if($xfirstname<>'') this.value=$xfirstname" value="<?php echo $firstname;?>"/>

或者更好的是,如果有一种方法,我如何使它们不可更改,如果它们有一个从数据库加载的值?

readonly="readonly"放置在输入<>标签中或放置disabled="disabled"

的例子<input type="text" name="firstname" size="25" tabindex="4" onchange="if($xfirstname<>'') this.value=$xfirstname" value="<?php echo $firstname;?>" readonly="readonly" />

保留:

<input type="text" name="firstname" size="25" tabindex="4"
 value="<?php echo $firstname;?>"/>
编辑:对不起,我没有看到它的输入元素上没有ID,使用这个:
<script>
if($('input[name="firstname"]').val().length > 0)
{
$('input[name="firstname"]').attr("disabled", true);
}
</script>

结果:http://jsfiddle.net/4wt9r/6/

但请记住,客户端上的任何内容都可以更改,您真正的过滤/身份验证必须在服务器上完成。