2015-01-16 90 views
0

返回null,我建立一個聯繫表,有一個複選框,看起來像這樣:複選框始終在JSP

<input type="Checkbox" name="infomaterial" value="test">send info material<br> 

我正在然後使用的request.getParameter這樣的:

request.getParameter("infomaterial") 

這是使用文本框和文本框可以很好地工作,但它不適用於複選框。

無論檢查與否,我都會得到空值(我希望在未選中時它爲空)。複選框也在正確的位置。有人能告訴我我做錯了什麼嗎?

回答

0
<input type="Checkbox" class="msgChk" name="infomaterial" value="test">send info material<br> 

var checked = null; 
var input = document.getElementsByClassName('msgChk'); 

for(var i=0; inputElements[i]; ++i) {  
    if(inputElements[i].checked) {    
     checked = inputElements[i].value; 
     break; 
    } 
} 
0

使用getParameterValues獲得選擇的複選框的數組:

的Servlet:

String[] infomaterials= request.getParameterValues("infomaterial"); 
for (String infomaterial:infomaterials) { 
    System.out.println(infomaterial); 
} 

還要注意,你只會得到值被選擇的複選框。如果未選中複選框,則該值將不在getParameterValues中可用。

0

感謝您的回答。 我發現了這個問題。我的程序中有一個「owasp SecurityWrapper」。不知何故,這阻止了除文本框和文本框之外的所有內容。如果我關閉它,它就像預期的那樣工作。還是要找出爲什麼阻止這些複選框..

0

這是舊的文章,但請儘量

boolean infomaterialIsChecked= Boolean.parseBoolean(request.getParameter("infomaterial")); 

boolean infomaterialIsChecked= request.getParameter("infomaterial") != null; 

第二個選項是更好的。它對我很有用