Jsp 如何在<;选项>;servlet中的标记</选项>;
我已经在我的索引页中选择了。它看起来像下面Jsp 如何在<;选项>;servlet中的标记</选项>;,jsp,select,servlets,request,html-select,Jsp,Select,Servlets,Request,Html Select,我已经在我的索引页中选择了。它看起来像下面 <div id="dropdown" class="input-group" style="width:50%"> <select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
<div id="dropdown" class="input-group" style="width:50%">
<select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
<option value="C:/path1" >option 1/option>
<option value="C:/path2" >option 2</option>
<option value="C:/path3" >option 3</option>
<option value="C:/path4" >option 4</option>
<option value="C:/path5" >option 5</option>
<option value="C:/path6" >option 6</option>
</select>
</div>
现在我需要获取标签之间的文本,即,我需要“选项1”或基于选择的任何内容。我该怎么做呢。请帮忙。提前感谢:)这里是简单快速的解决方案 试试这个
<select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
<option value="C:/path1_option 1" >option 1/option>
<option value="C:/path2_option 2" >option 2</option>
</select>
因此,您可以获得这两个值。…使用表单,您只能
选择选项的值
,如果您还需要选项标签,则需要编写额外的逻辑以将数据发送到服务器
<div id="dropdown" class="input-group" style="width:50%">
<input type="hidden" name="selectedLabel" id="selectedLabel">
<select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
<option value="C:/path1" >option 1/option>
<option value="C:/path2" >option 2</option>
<option value="C:/path3" >option 3</option>
<option value="C:/path4" >option 4</option>
<option value="C:/path5" >option 5</option>
<option value="C:/path6" >option 6</option>
</select>
</div>
服务器端:
String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel");
不…仍然获得“值”属性的值您可以获得路径加号的值和选项值,对吗?那问题是什么?不。我得到的只是路径值。我还尝试了字符串vals[]=value.split(“\u1”);它不起作用。如果我选择“Option1”,我会得到“Option1”而不是“C:/path1\u option 1”我也不想改变路径值……因为我在其他地方使用它,你如何用表单发送数据?你能给我完整的代码吗?你能在之前得到代码中的值(路径)吗?嗨,Srinu。我希望在Servlet中获得该值,而不是在js中。您能帮助我如何获取servlet吗。@newbie22,默认情况下,html表单不会将
选项
文本发送到服务器。如果需要文本,则需要显式发送。在js中,我将该值设置为隐藏变量,以便该值可用于服务器。在我的代码中,我在表单提交之前添加了一个隐藏变量和设置值。非常感谢@Srinu。我试过你的密码。我认为这样最好。但当我在servlet中打印该隐藏文本值时,我得到的是空值。隐藏字段应该在表单
标记中,然后只有该值才会发送到服务器。还要验证隐藏字段是否具有id
属性,因为在js中我们使用的是document.getElementById
设置值。Yes@Srinu它位于标记内部,并且具有id。但当我尝试使用String services=request.getParameter(“selectedLabel”)获取servlet时仍然如此;我没有得到任何值或空字符串
<div id="dropdown" class="input-group" style="width:50%">
<input type="hidden" name="selectedLabel" id="selectedLabel">
<select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
<option value="C:/path1" >option 1/option>
<option value="C:/path2" >option 2</option>
<option value="C:/path3" >option 3</option>
<option value="C:/path4" >option 4</option>
<option value="C:/path5" >option 5</option>
<option value="C:/path6" >option 6</option>
</select>
</div>
function getSelectedLabel(sel) {
document.getElementById("selectedLabel").value = sel.options[sel.selectedIndex].text;
document.form1.submit();
}
String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel");