所以我有一个HTML表单:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://myserver.com" method="POST">
<input type="hidden" name="Id" value="83" />
<input type="hidden" name="url" value="http://example.com/" />
<input type="submit" value="Submit request" />
</form>
<script>
document.forms[0].submit();
</script>
</body>
</html>
正如您所看到的那样,提交<input type="hidden" name="Id" value="83" />
的操作意味着它已经提交了与ID号83相关联的属性,我想要为多个ID值提交操作,即1 - 100.这可能吗?如果是这样,怎么办呢?
答案 0 :(得分:5)
我假设您想要做这样的事情
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://myserver.com" method="POST">
<input type="hidden" name="Id[]" value="83" />
<input type="hidden" name="Id[]" value="85" />
<!-- you can add as many as input here for id if you want -->
<input type="hidden" name="url" value="http://example.com/" />
<input type="submit" value="Submit request" />
</form>
<script>
document.forms[0].submit();
</script>
</body>
</html>
发布此表单后,在服务器端,您可以将$ _POST ['id']作为数组获取并使用它。
答案 1 :(得分:2)
将[]添加到输入名称:
<input type="hidden" name="ID[1]" value="83" />
<input type="hidden" name="ID[100]" value="100" />
然后在php
print_r($_POST['ID']); //print out the data array
或者只使用逗号分隔值的一个输入?
<input type="hidden" name=Id value="1, 2, 3,.., 100" />
PHP:
$ids = explode(" ", $_POST['ID']);
答案 2 :(得分:1)
通过执行document.forms[0].submit();
,您将提交该表单中的所有输入值,并且值将保存为Id=83&url=http://example.com/
如果您想提交多个表格,那么您可以使用for循环
x = document.forms.length //your desired number or number of forms
for(i = 0; i<x; i++){
document.forms[i].submit();
}