不允许输入的HTML文本框表单

12

在html表单中是否有任何类别可以使你无法输入或更改文本框中的值,但是你可以查看其内容。例如,下面的代码将允许您查看mysql数据库记录的内容,但我想要的是它不能被编辑。我应该添加什么代码才能使其内容不受用户编辑:

   <tr>
<td><font size="3">Civil Status</td>
<td>:</td>
<td><input name="cs" type="text" maxlength="7" value="<?php echo $row["CSTAT"]; ?>"></td>
<td><font size="3">Age</td>
<td>:</td>
<td><input name="age" type="text" maxlength="3" value="<?php echo $row["AGE"]; ?>"></td>
<td><font size="3">Birthday</td>
<td>:</td>
<td><input name="bday" type="text" maxlength="12" value="<?php echo $row["BDAY"]; ?>"></td>

</tr>

<tr>
<td><font size="3">Address</td>
<td>:</td>
<td><input name="ad" type="text" maxlength="25" value="<?php echo $row["ADDRESS"]; ?>"></td>
<td><font size="3">Telephone #</td>
<td>:</td>
<td><input name="telnum" type="text" maxlength="11" value="<?php echo $row["TELNUM"]; ?>"></td>

<td width="23"><font size="3">Sex</td>
<td width="3">:</td>
<td width="174"><input name="sex" type="text"  maxlength="1" value="<?php echo $row["SEX"]; ?>"></td>
</tr>
6个回答

45

readonly属性怎么样呢?(参考链接)

<input type="text" name="telnum" value="123456" readonly="readonly" />

15

您可以在您的 <input> 标签中添加 readonly="readonly" 属性。您也可以使用 disabled="disabled" 属性。两者都提供了不同程度的“禁用”功能,如此处所示

但这并不是绝对安全的。请确保在表单被提交回来时检查该值是否被修改 - 某人可以构造一个有效的 POST 请求来修改字段值 - 对此你无能为力,只能在服务器端检查它是否已经从原来的值被修改。


4
关于在后端检查数值的补充非常重要。 - user241244

4
如果您不希望它被编辑,并且如果没有理由让它被编辑,那么它根本不应该在一个输入元素中。只需将其作为普通文本输出即可。

2
好的输入,但并没有回答问题。 - Kyle Challis

3
您可以尝试使用"禁用"或"只读"。

<form> 
  <label for="disabled">Disabled</label><br> 
  <input name="disabled" value="disabled" disabled>
  <br><br>
  <label for="readonly">Read Only</label><br> 
  <input name="readonly" value="readonly" readonly> 
</form>



2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接