我在HTML表单上有一个带有"提交"按钮的列表框.列表框已启用多个选择.我可以在列表框中选择多个值,但我不知道如何确定提交表单时选择的值.此外,我使用JavaScript动态地将用户生成的值添加到列表框中,我希望能够在表单提交时告诉两件事:
这可能吗?谢谢.
cla*_*awr 36
通过select使用尾随方括号命名,PHP(以及可能的其他服务器语言)将数据放入数组中
例如:
<form action="process.php" method="post">
<select name="multiSelects[]" multiple="multiple" size="5">
<option value="0">Zero</option>
<option value="1">One</option>
</select>
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
选择将在阵列中可用 $_POST['multiSelects']
下面是一个页面示例。
注意:
用户在框中选择什么值?
当用户提交表单时,只有选定的值才会发送到服务器。根据您在服务器上使用的语言,有不同的方法来访问它们。
用户添加到框中的选项有哪些?
如前所述,您只能看到选择的选项。但是你如何区分你的选项和用户的选项呢?这取决于您向用户发送的数据。普遍的答案是,这就是您返回的、未发送的值。但是,这可以根据您的数据进行简化。由于选项同时具有值和文本属性,因此一种方法是使用数值作为预生成的值。这样,您的值在回复中将是数字,而用户值将是文本字符串。此方法假设您的用户不会仅输入数字值。另一种方法是为所有用户生成的值添加前缀(请记住,所有选项都有一个值和一个文本字段)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test of select box</title>
<script type="text/javascript">
function addOpt(e) {
var o=document.createElement("option");
//o.value= -e.options.length;
o.text = "Test " + e.options.length;
o.selected=true;
e.add(o,null);
}
</script>
</head>
<body>
<form method="post" action="mypage.html">
<input type="button" onclick="addOpt(this.form.myselect)" value="Add option"/>
<br/>
<select id="myselect" name="mydata" multiple="multiple" size="10">
<option value="0">Test 0</option>
<option value="1">Test 1</option>
<option value="2">Test 2</option>
</select>
<br/>
<input type="submit"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46926 次 |
| 最近记录: |