我有一个表单,可以在网页上动态添加带有表单字段的行。一行表单字段由一个文本框和一个多选列表组成。教程来源:http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html
我的文本框的代码是:
<input type="textbox" name="name[]" id="name" size="20" maxlength="50" />
我的多选列表的代码是:
<select name="friend[]" multiple size="4" id="friend" style="width:150px" >
<option value="none" selected="selected">None</option>
<option value="sam">Sam</option>
<option value="jenny">Jenny</option>
<option value="bob">Bob</option>
<option value="aaron">Aaron</option>
</select>
我使用 Javascript 生成两个字段的多行,并且所有行共享相同的名称。我可以按照 name[0] = name at 获取不同行的名称。第一行,名称 [1] = 第二行的名称,依此类推。但我无法判断用户从每行的多个列表框中选择了多少个。
如果用户从第一行选择“None”,在第二行选择“Sam and Bob”并仅在第三行选择“Aaron”,则 friend 数组将显示线性结果,其中friend[0] = none , friend [1] = 萨姆, friend [2] = 鲍勃, friend [3] = 亚伦。
如何判断用户使用 HTML、PHP 或 Javascript 为每个多重列表框选择了哪些值?
提前致谢!
最佳答案
枚举字段,然后它就会像预期的那样工作。
<select name="friend[1][]"
<select name="friend[2][]"
<select name="friend[3][]"
var_dump($_POST);
array(3) {
["name"]=>
array(3) {
[0]=>
string(2) "aa"
[1]=>
string(2) "bb"
[2]=>
string(2) "cc"
}
["friend"]=>
array(3) {
[1]=>
array(1) {
[0]=>
string(4) "none"
}
[2]=>
array(2) {
[0]=>
string(3) "sam"
[1]=>
string(3) "bob"
}
[3]=>
array(1) {
[0]=>
string(5) "aaron"
}
}
["submit"]=>
string(4) "send"
}
关于php - 从动态生成的多组多个列表框中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426081/