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

时间:2014-03-22 23:59:55

标签: javascript php html forms input

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

提交表单时,将发送任何数据库信息以及表单中输入的新信息。

但是,用户可以更改(在屏幕上)从数据库输入的信息,虽然这些更改未提交(我的$ Xvariables来自数据库覆盖POSTed $变量),我希望他们还原屏幕数据返回数据库值。

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

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

或更好的是,如果有办法,如果他们从数据库加载了值,我怎么能让它们变成不可变的呢?

2 个答案:

答案 0 :(得分:1)

只需将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" />

答案 1 :(得分:1)

保持这个:

<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/

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