问题描述

使用了disable属性让文本框无法编辑,但是提交form表单时无法获取该文本框的值,代码如下:

1
2
3
4
5
6
<form action="/student/update" method="post" style="text-align: center;margin-top: 10%">
<input type="text" value="${student.id}" name="id" placeholder="编号" required="required" disabled="disabled">
<input type="text" value="${student.name}" name="name" placeholder="姓名" required="required">
<input type="text" value="${student.age}" name="age" placeholder="年龄" required="required">
<button type="submit">修改</button>
</form>

解决办法

disabled="disabled"修改为readonly="readonly"即可

readonly和disabled的区别

readonly

针对input(text / password)和textarea有效,在设置为true的情况下,用户可以获得焦点,但是不能编辑,在提交表单时,输入项会作为form的内容提交

disabled

针对所有表单元素(select,button,input,textarea等),在设置为disabled为true的情况下,表单输入项不能获得焦点,用户的所有操作无意义,在提交表单时,表单输入项不会被提交