【发布时间】:2014-03-22 23:59:54
【问题描述】:
我有一个表单,其中一些字段是通过从数据库加载信息来完成的。这些字段可能因一个帐户而异。
提交表单后,任何数据库信息都将与表单中输入的新信息一起发送。
但是,用户可以更改(在屏幕上)从数据库输入的信息,虽然这些更改没有提交(我的数据库中的 $Xvariables 覆盖了已发布的 $variables),但我希望他们恢复屏幕上的数据返回数据库值。
这是我目前拥有的一个示例,但它不起作用......
<input type="text" name="firstname" size="25" tabindex="4" onchange="if($xfirstname<>'') this.value=$xfirstname" value="<?php echo $firstname;?>"/>
或者更好的是,如果有办法,如果它们具有从数据库加载的值,我怎样才能使它们保持不变?
【问题讨论】:
-
设置
readonly属性以防止用户输入它们,或设置disabled以防止它们与表单数据的其余部分一起发送。 (但请注意,这不会阻止用户以任何方式向您的脚本提交任何类型的数据,因此必须进行服务器端验证。) -
用一个简单的文本代替 怎么样?
-
第二个@Ivan 的建议,如果您不希望任何用户输入,请不要使用
input。 -
一些用户需要输入 - 这完全取决于从数据库加载的内容
-
在评论中你说“一些用户需要输入”。您应该在问题本身中指定此类内容,并指定究竟应该发生什么以及在什么条件下发生。也许您只是说如果一个字段具有
value属性,则该字段应该是只读的?
标签: javascript php html forms input