我想要添加到表单中的这种多选下拉菜单
<form>
...
<select id="example2" multiple="multiple">
<div id="otherChoices">
<optgroup label="Academic" class="blah">
<option value="Engineering" class="blah">Engineering</option>
<option value="Humanities">Humanities</option>
<option value="Life_Sciences">Life Sciences</option>
<option value="Social Sciences_Sciences">Social Sciences</option>
</optgroup>
<optgroup label="Clubs">
<option value="Event">Event </option>
<option value="Meeting">Meeting</option>
<option value="Performance">Performance</option>
</optgroup>
<optgroup label="Personal">
<option value="Discussion">Discussion</option>
<option value="Event">Event</option>
<option value="Food">Food</option>
<option value="Hangout">Hangout</option>
<option value="Trip">Trip</option>
</optgroup>
</div>
</select>
</form>
但是我不确定这是什么类型的输入形式(它是一个自举创建形式但不是有效输入类型),所以我不确定如何发送参数通过邮寄请求。目前,我使用jquery来获取所选值并填写隐藏表单。有更好的方法吗?
答案 0 :(得分:1)
您在HTML中犯了一些错误: 这是更正后的版本:
<form action="test2.php" method="post">
<select name="example2[]" id="example2" multiple="multiple" >
<div id="otherChoices" name="hello">
<optgroup label="Academic" class="blah">
<option value="Engineering" class="blah">Engineering</option>
<option value="Humanities">Humanities</option>
<option value="Life_Sciences">Life Sciences</option>
<option value="Social Sciences_Sciences">Social Sciences</option>
</optgroup>
<optgroup label="Clubs">
<option value="Event">Event </option>
<option value="Meeting">Meeting</option>
<option value="Performance">Performance</option>
</optgroup>
<optgroup label="Personal">
<option value="Discussion">Discussion</option>
<option value="Event">Event</option>
<option value="Food">Food</option>
<option value="Hangout">Hangout</option>
<option value="Trip">Trip</option>
</optgroup>
</div>
</select>
<button type="submit">Submit</button>
</form>
编辑: 这是我纠正的:
然后,您可以访问以下各个项目:
echo $_POST["example2"][0];
编辑:对不起,我意识到这是Node.js那是一个用于PHP的。有关如何在节点js中获取post变量的信息,请参阅此链接:
答案 1 :(得分:0)
提交表单时,它会将数组传递到下一页,在表单的action
属性中指定。如果未设置,则会提交到当前网址。
默认情况下,除非将GET
属性设置为method
,否则表单将使用post
提交。
因此,请将<form>
标记更改为以下内容:
<form method="post" action="test.php">
并向select
name
name="test_select"
提供test.php
。
然后您的<?php
print_r($_POST);
可能如下所示:
?>
(不需要$_POST
结束标记)
这将打印{{1}}数组,您将看到多个选项如何工作。