首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

HTML 表單中 disabled="true" 的元素無法提交數據

     編輯:Java 綜合教學

現象說明

在 JSP 頁面中,若將 <input> 標籤同時設置 readOnly="true" 和 disabled="true",例如:

<input name="Id" value="${order.Id}" readOnly="true" disabled="true" />

這樣做會導致該輸入框無法隨表單提交到後端。

原因分析

根據 HTML 標準,設置了 disabled="true" 的表單元素屬於「非成功的表單控件」,瀏覽器不會將其值包含在提交數據中。因此在 Servlet 中調用 request.getParameter("Id") 將無法獲取值,進而導致依賴該字段的增刪改查操作失敗。

解決方案

  • 若需禁止用戶編輯但仍需提交值,請僅使用 readonly 屬性(不區分大小寫),移除 disabled。
  • 若必須使用 disabled,可在表單提交前通過 JavaScript 臨時移除 disabled,或在隱藏域中複製一份值供提交使用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved