我在表单中有两个select html元素。每当用户单击“添加”按钮时,就会创建这两个选择元素。因此,表单中有这对html select语句对的多个实例。代码如下:
<form action="create.php" method="POST">
<div class="user_role">
<select name="users[]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select>
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
</div>
<div>
<input type="button" name="add" id="add" value="Add User"
</div>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
如果单击提交按钮,则$ _POST数组包含以下值:
Array (
[users] => Array (
[0] => 1
)
[submit] => submit
)
我不知道在第二个选择的“名称”属性上放置什么,以便我可以连接两个选择语句。
我想完成的是,我想有一种方法可以将第二个选择上的值作为存储在$ _POST全局数组中的第一个选择上的相应用户的角色值来引用。示例:
User: John <-- first html select statement
role: Browser <-- second html select statement
___________________________________________________
User: Doe <-- first html select statement
role: Project Manager <-- second html select statement
答案 0 :(得分:1)
您可以尝试类似的操作:
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php">
<select name="users[1][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[1][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
</body>
</html>
提交的表单数据如下:
users[1][name]=1&users[1][role]=1&submit=submit
如果您想添加另一组选择输入作为用户-只需增加该值即可。因此,下一个添加的集合将如下所示:
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php">
<select name="users[1][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[1][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<!-- Newly added by js -->
<select name="users[2][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[2][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
</body>
</html>
如果在创建时确定要插入哪个索引时遇到问题,则需要修改JS“添加”功能。
有几种方法-您可以存储一些变量,该变量将保持用户数量从1开始,每次添加时,您将对其进行递增。
您还可以计算选择次数并获得下一个元素的正确数目 您还可以修改表单的结构,以将两个选择与某个类一起存储在div中,并对其上的元素进行计数。
以下是使用香草JavaScript的jsFiddle的一些指导: https://jsfiddle.net/mrba8dLy/