使用php,我可以动态创建一个包含可变数量“select”的表单。
当用户完成选择后,他会点击一个按钮启动另一个php。
我现在想要浏览所有表单元素,但不知道如何使用各自的名称获取表单元素数组。
我知道当我有名字时如何检索给定选择的值,但由于每次表单中的选择元素不同,我不能直接使用该名称,但需要表单元素数组。 / p>
答案 0 :(得分:0)
因此,正如我所理解的那样:表单是动态创建的(使用动态名称),因此您不知道POST是什么以及处理程序中的其他选项是什么。我建议使用javascript来解决这个问题 - 在表单中添加onSubmit="saveForm();"
然后,在该函数saveForm中,您必须获取所有表单元素并将它们放入PHP可以解释的某种格式中。伪代码:
function saveForm(){
var outputString="[";
var theInputs=document.querySelectorAll("input, select");
for (var x=0; x<theInputs.length; x++){
outputString+="\""+theInputs.name+"\", ";
}
outputString=outputString.substring(0,outputString.length-2)+"]";
var hiddenInput=document.createElement("input");
hiddenInput.name="formNames";
hiddenInput.value=outputString;
document.body.appendChild(hiddenInput);
}
这样,将在$_POST['formNames']
中设置一个变量,该变量将等同于包含表单元素的所有名称的数组的字符串表示形式。您可以遍历该数组以从每个数组中获取$ _POST数据。
答案 1 :(得分:0)
我找到了解决方案。我能做到:
foreach($_POST as $eid){
和$ eid将成为我在表单中的每个元素