Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSP:如何将下拉列表的所有(选中和未选中)选项传递给servlet?_Javascript_Jsp_Servlets_Dropdown - Fatal编程技术网

Javascript JSP:如何将下拉列表的所有(选中和未选中)选项传递给servlet?

Javascript JSP:如何将下拉列表的所有(选中和未选中)选项传递给servlet?,javascript,jsp,servlets,dropdown,Javascript,Jsp,Servlets,Dropdown,我的JSP web应用程序中有一个下拉列表,我使用JavaScript代码从输入文本中添加和删除项目。现在,我想使用submit按钮将下拉列表中的所有(选中和未选中)项传递给servlet。我该怎么做? 以下代码仅返回所选项目的值: String ST=request.getParameter("friendList"); 我的HTML和JavaScript代码: <form class="form" action="project" method="post"> <inpu

我的JSP web应用程序中有一个下拉列表,我使用JavaScript代码从输入文本中添加和删除项目。现在,我想使用submit按钮将下拉列表中的所有(选中和未选中)项传递给servlet。我该怎么做? 以下代码仅返回所选项目的值:

String ST=request.getParameter("friendList");
我的HTML和JavaScript代码:

<form class="form" action="project" method="post">
<input type="text" id="In_Name" placeholder="my new friend's name"/>
<div class="addIcon" onclick="addFriend()"></div>
<div class="removeIcon" onclick="removeFriend()"></div>
<select size="5" name="friendList" id="friendList">
</select>
<button type="submit" name="MyButton">Submit</button>
</form>

<script>
function addFriend() {
    var Str=document.getElementById("In_Name").value;
    if(Str!="")
    {
        var opt = document.createElement("option");
        opt.text = Str;
        opt.value = Str;
        document.getElementById("friendList").options.add(opt);
    }
}
function removeFriend() {
    var x = document.getElementById("friendList");
    if(x.selectedIndex != "-1")
        x.remove(x.selectedIndex);
}
</script>

提交
函数addFriend(){
var Str=document.getElementById(“In_Name”).value;
如果(Str!=“”)
{
var opt=document.createElement(“选项”);
opt.text=Str;
opt.value=Str;
document.getElementById(“friendList”).options.add(opt);
}
}
函数removeFriend(){
var x=document.getElementById(“friendList”);
如果(x.selectedIndex!=“-1”)
x、 移除(x.selectedIndex);
}
我想使用submit按钮将下拉列表中的所有(选中和未选中)项传递给servlet

浏览器将只传递选定的选项,要发送所有选项,请使用
multiple
属性。此外,在提交表单之前,您还需要一个方便的脚本来选择所有选项

servlet中的更改:

String[]ST=request.getParameterValues("friendList");
JSP更改:

<form class="form" action="project" method="post" onsubmit="selectAll('friendList')">
    ....
    <select size="5" name="friendList" id="friendList" multiple=''></select>
    ....
</form>

<script>
...
function selectAll(id){
   var options = document.getElementById(id).options;
   var len = options.length;
   while(len --){
      options[len].selected = true;
   }
}
</script>

....
....
...
功能selectAll(id){
var options=document.getElementById(id).options;
var len=options.length;
而(len--){
选项[len]。所选选项=true;
}
}

您已经使用了name属性,所以只需在servlet中添加一行即可。并向jsp文件“multiple”添加一个属性

用法:字符串值[]=request.getParameterValues(“friendList”)

大家好,欢迎来到SO:)为了帮助其他人理解您的问题,请添加一个简单的代码示例来澄清您的问题。谢谢