admin管理员组

文章数量:1641087

1. 使input文本框不可编辑的2种方法

今天在写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通过这样的方式去获得前端传递过来的参数,但当我运行程序的时候,我发现:获取不到bookId。

有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">



本文标签: 种方法文本框后台属性编辑