我总共可以发送四种表格。第一个是"field-form"
,其中包含用户可以选择的各种字段资源。第二个是"admin-form"
,包含管理资源。第三个是"tech form"
,第四个是"student-form"
。
用户做出选择并提交验证报价的请求后,请求如下:
<form name="field-form" class="form-class" method="POST" action="quote.php">
<ul id="field-list">
<li id="field-element-0" class="li-element-field">
<input type="number" id="resorce-amount" name="r_num[]">
<label id="chosen-lbl"> Secratary</label>
<input type="number" id="resource-duration" name="r_duration[]">
<label id="country-lbl"> from </label>
<select id="ctr-lbl" name="r_country[]">
<option value="ZA">South Africa</option>
</select>
</li>
</ul>
</form>
因为有四种类型的资源类包含不同的资源(因此有四种形式),所以存在四种可能的POST请求。它们看上去都像上面的一样,但是具有不同的name属性。
我有一个按钮,向其添加了一个click事件监听器,它触发了以下功能,以提交要由php处理的不同表单:
function submitQuote(e) {
var collection = document.getElementsByClassName("form-class");
for(let i = 0; i<collection.length;i++) {
collection[i].submit();
}
}
问题在于,当用户选择了一种以上的资源类型(因此发送了多个POST请求)时,我仅在php端收到了最后一个POST请求。
这就是php上的内容:
$r_num = $_POST["r_num"];
$r_dur = $_POST["r_duration"];
$r_ctr = $_POST["r_country"];
for($i = 0;$i < 6 ;$i++) {
echo "num:" . $r_num[$i];
echo "<br>";
echo "dur:" . $r_dur[$i];
echo "<br>";
echo "ctr:" . $r_ctr[$i];
echo "<br>";
echo "-----------$i----------<br>";
}
我尝试使用GET请求,但我认为问题可能出在我如何发送请求。有人可以帮我看看我丢失了什么