[英]How to get the values of dropdownlist, radio button from a jsp and send it to servlet?
[英]Send values from jsp to Servlet
我有一個jsp,其中有select標記,我想從Servlet的jsp中的select中獲取和所選擇的值
<select id="listoffood" name="dropdown" onchange="foodname();">
<option value="bg">Burger</option>
<option value="pas">pasta</option>
<option value="pi">pizza</option>
</select>
<div id='content'></div>
這是JavaScript代碼
function foodname()
{
var xmlHttpReq = false;
var self = this;
document.getElementById('content').innerHtml='';
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('GET', "InformationServlet", true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.send(null);
self.xmlHttpReq.onreadystatechange= function ()
{
//alert(document.getElementById('content'));
if (self.xmlHttpReq.readyState==4)
{
if (self.xmlHttpReq.status == 200)
{
document.getElementById('content').innerHTML=self.xmlHttpReq.responseText;
}
}
};
}
我所做的是使用像這樣的get Attribute,但它不能正常顯示null
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// TODO Auto-generated method stub
String coun = request.getParameter("dropdown");
PrintWriter out=response.getWriter();
System.out.println("here : "+coun);
}
在此先感謝您,任何代碼都將受到高度贊賞。
只需將您的AJAX open()
請求更改為
var select = document.getElementById("listoffood");
self.xmlHttpReq.open('GET', "InformationServlet?dropdown=" + select.options[select.selectedIndex].value, true);
使用方法getParameterValues(String) 。
這是因為<select>
標簽可以具有多個選擇的值(例如, select multiple )
String[] coun = request.getParameterValues("dropdown");
您可以使用以下方法從列表框中獲取選定的項目文本:
var e = document.getElementById("dropdown");
var selectedValue = e.options[selectBox.selectedIndex].value
在您的JS方法中,並通過servlet的鏈接發送此值。
從選擇標簽獲取值
var e = document.getElementById("dropdown");
var selectedValue = e.options[selectBox.selectedIndex].value;
和編輯js函數
self.xmlHttpReq.open('GET', "InformationServlet?dropdown="selectedValue , true);
最后你應該看起來像
function foodname()
{
var e = document.getElementById("dropdown");
var selectedValue = e.options[selectBox.selectedIndex].value;
var xmlHttpReq = false;
var self = this;
document.getElementById('content').innerHtml='';
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('GET', "InformationServlet?dropdown="selectedValue , true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.send(null);
self.xmlHttpReq.onreadystatechange= function ()
{
//alert(document.getElementById('content'));
if (self.xmlHttpReq.readyState==4)
{
if (self.xmlHttpReq.status == 200)
{
document.getElementById('content').innerHTML=self.xmlHttpReq.responseText;
}
}
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.