从多个选择中发布值

如何从表单中的多个选择中发布值?当我点击提交时,所有选择的值都不会被发布。

<form id="form" action="" method="post">
<div>
<select id="inscompSelected" multiple="multiple" class="lstSelected">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="submit" value="submit">
</div>
</form>
120981 次浏览

您需要添加一个 name属性。

由于这是一个多重选择,因此在 HTTP 级别上,客户机只发送具有相同名称的多个名称/值对,如果使用 method="GET": someurl?something=1&something=2&something=3表单,您可以自己观察这一情况。

对于 PHP、 Ruby 和其他一些库/框架,您需要在名称的末尾添加方括号([])。框架将解析这个字符串,并以一些易于使用的格式(如数组)显示它。

除了手动解析请求之外,没有语言/框架/库不可知的方法来访问多个值,因为它们都有不同的 API

对于 PHP,您可以使用:

<select name="something[]" id="inscompSelected" multiple="multiple" class="lstSelected">

试试这个: 这里 select 是您的 select 元素

let select = document.getElementsByClassName('lstSelected')[0],
options = select.options,
len = options.length,
data='',
i=0;
while (i<len){
if (options[i].selected)
data+= "&" + select.name + '=' + options[i].value;
i++;
}
return data;

数据以查询字符串(i.e.name = value & name = another Value)的形式存在