使input文本框不可编辑的3种方法(有disabled属性的input框,后台获取不到值)
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使input文本框不可编辑的3种方法(有disabled属性的input框,后台获取不到值)相关的知识,希望对你有一定的参考价值。
1. 使input文本框不可编辑的3种方法
今天在写JSP的时候我写了这样的代码
updateBook.jsp
<form action="${pageContext.request.contextPath}/updateBook" method="post">
<% Book book = (Book) request.getAttribute("book");%>
<span style="margin-left: 20px;"> 图书编号:</span><input type="text" name="bookId" disabled="disabled"
value="<%= book.getBookId()%>"
><br><br><br>
<span style="margin-left: 20px;"> 图书名:</span><input type="text" name="bookName" required
value="<%= book.getBookName()%>"
><br><br><br>
<span style="margin-left: 42px;"> 作者:</span><input type="text" name="author" required
value="<%= book.getAuthor()%>"
><br><br><br>
<span style="margin-left: 42px;"> 库存:</span><input type="text" name="inventory" required
value="<%= book.getInventory()%>"
><br><br><br>
<input type="submit" value="提交"/>
</form>
我的想法是后台的Servlet通过这样的方式去获得前端传递过来的参数,但当我运行程序的时候,我发现
有disabled属性的input框,后台获取不到值!!!
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取前端传递过来的书籍的信息
String bookId = req.getParameter("bookId");
String bookName = req.getParameter("bookName");
String author = req.getParameter("author");
String inventory = req.getParameter("inventory");
System.out.println("bookId" + bookId);
System.out.println("author" + author);
System.out.println("bookName" + bookName);
System.out.println("inventory" + inventory);
BookServiceImpl bookService = new BookServiceImpl();
try {
bookService.updateBook(bookId, bookName, author, Integer.parseInt(inventory));
//页面跳转,跳到图书管理页面(index.jsp)
resp.sendRedirect("/books");
} catch (Exception e) {
e.printStackTrace();
}
}
1.1 第一种办法:disabled
disabled 属性规定应该禁用 input 元素,被禁用的 input 元素,不可编辑,不可复制,不可选择,不能接收焦点,
后台也不会接收到传值。设置后文字的颜色会变成灰色。disabled 属性无法与 <input type="hidden"> 一起使用。
示例:<input type="text" disabled="disabled" />
1.2 第二种办法:readonly
readonly 属性规定输入字段为只读可复制,但是,用户可以使用Tab键切换到该字段,可选择,可以接收焦点,还可以选中或拷贝其文本。
后台会接收到传值。readonly 属性可以防止用户对值进行修改。
readonly 属性可与 <input type="text"> 或 <input type="password"> 配合使用。
示例:<input type="text" readonly="readonly">
1.3 第三种办法: readonly + unselectable=“on”
readonly unselectable="on" 该属性跟disable类似,input 元素,不可编辑,不可复制,不可选择,不能接收焦点,设置后文字的颜色也会变成灰色,但是后台可以接收到传值。
示例:<input type="text" readonly unselectable="on" >
以上是关于使input文本框不可编辑的3种方法(有disabled属性的input框,后台获取不到值)的主要内容,如果未能解决你的问题,请参考以下文章