我有一个jsp,其中我有选择标签,我想得到 以及从我的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属性,但它不是在显示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);
}
提前致谢,我们非常感谢任何一段代码。
答案 0 :(得分:1)
只需将您的AJAX open()
请求更改为
var select = document.getElementById("listoffood");
self.xmlHttpReq.open('GET', "InformationServlet?dropdown=" + select.options[select.selectedIndex].value, true);
答案 1 :(得分:0)
使用方法getParameterValues(String)
这是因为<select>
标记可以有多个选定值(例如select multiple)
String[] coun = request.getParameterValues("dropdown");
答案 2 :(得分:0)
查看这篇文章:
How to use onClick() or onSelect() on option tag in a JSP page?
您似乎在使用select标记而没有任何操作,例如onchange
答案 3 :(得分:0)
您可以使用
从列表框中获取所选项目文本var e = document.getElementById("dropdown");
var selectedValue = e.options[selectBox.selectedIndex].value
在您的JS方法中并使用servlet的链接发送此值。
答案 4 :(得分:0)
从select tag
中获取值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;
}
}
};
}