有一個在我的jsp頁面複選框複選框值,如果未選中
<input type="checkbox" name="myCheck" id="myCheck">
我提交表單,並在服務器端,我想用撿回來
request.getParameter("myCheck");
如果我選中了該複選框,它將作爲true
來請求,否則它不在請求對象中。
我的要求是,如果我沒有檢查它,它也應該是假的。 有什麼建議嗎?
UPDATE
我使用GET方法是的,它是存在於我提交表單。
有一個在我的jsp頁面複選框複選框值,如果未選中
<input type="checkbox" name="myCheck" id="myCheck">
我提交表單,並在服務器端,我想用撿回來
request.getParameter("myCheck");
如果我選中了該複選框,它將作爲true
來請求,否則它不在請求對象中。
我的要求是,如果我沒有檢查它,它也應該是假的。 有什麼建議嗎?
UPDATE
我使用GET方法是的,它是存在於我提交表單。
從accepted answer in stackoverflow
您如何知道如果檢查
澄清..
例如:
<input type="hidden" name="checkboxNamesList" value="nameCheckbox1" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox2" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox3" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox4" />
然後,你可以得到複選框來自請求的NamesList(它將是一個String []),因此您將擁有所有複選框參數名稱。如果你得到一個複選框名稱的參數和值爲null,這意味着複選框沒有被檢查
好吧,因爲未檢查的複選框不存在於請求中,你不知道JSP中其複選框沒有但是你需要知道它,才能在數據文件中寫入類似checkbox_name1 = unchecked的東西。
那麼,該怎麼做?首先,您需要知道請求中存在哪些複選框(取消選中或不選中)。對於這一點,你可以用下面的代碼,並得到所有的複選框的名字出現在JSP:
String[] checkboxNamesList= request.getParameterValues("checkboxNamesList");
然後,讓尋找選中checboxes:
for (int i = 0; i < checkboxNamesList.length; i++) {
String myCheckBoxValue = request.getParameterValues(checkboxNamesList[i]);
// if null, it means checkbox is not in request, so unchecked
if (myCheckBoxValue == null)
writer.append(checkboxNamesList[i] + "=unchecked");
// if is there, it means checkbox checked
else
writer.append(checkboxNamesList[i] + "=checked");
}
我不明白爲什麼值不在請求對象中。我認爲一個可能的錯誤是缺失的值屬性。
你的第二個問題: 在後端,你必須先定義一個默認值,然後檢查空:
public boolean myCheckBox = false;
if (request.getParameter("myCheck") != null) {myCheckBox = true}
糾正你的代碼的名稱應與該ID我的意思是字母C和小C ;你能否提供更多的表單標籤信息(更多代碼)以及你提交的方式(按鈕提交標籤) – shareef
你是否圍繞這個複選框包裝了一個表單?如果是這樣,你使用哪種方法(Post或Get)? – reporter
@shareef同步名稱和標識符是不是nessecary。 – reporter