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

Java 後端獲取 input 標籤自定義屬性 isDraft 的值

     編輯:程式設計綜合問答

問題

前端兩顆按鈕:
<input type="button" value="創建問卷" name="sendBtn" isDraft="0">
<input type="button" value="存草稿" name="workBTN" isDraft="1">
後端用 request.getParameter("sendBtn") 只能取到 value,無法直接獲取自定義屬性 isDraft。

原因

表單提交時,瀏覽器只會發送 name/value 配對,**不會提交自定義屬性**。

解決方案

  1. 隱藏域傳遞:在表單加入 <input type="hidden" name="isDraft" id="isDraft" value="0">,按鈕點擊時用 JS 修改其值:
    onclick="document.getElementById('isDraft').value=0" / onclick="...value=1"。
  2. 統一用按鈕 name 区分:後端判斷 request.getParameter("sendBtn") != null 代表創建問卷,workBTN != null 代表存草稿,無需額外屬性。
  3. AJAX 提交:自行組裝 JSON 發送,包含 isDraft 字段。

代碼修正

<form action="/submit" method="post">
    <input type="button" value="創建問卷" name="sendBtn" class="butn" onclick="document.getElementById('isDraft').value='0'; this.form.submit();">
    <input type="button" value="存草稿" name="workBTN" class="butn" onclick="document.getElementById('isDraft').value='1'; this.form.submit();">
    <input type="hidden" name="isDraft" id="isDraft" value="0"/>
</form>

後端取值

String isDraft = request.getParameter("isDraft"); // "0" 或 "1"
int draft = Integer.parseInt(isDraft);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved