我制作了一个表单,用户可以使用JQuery克隆/复制输入字段以添加更多信息。问题是在发送的邮件中只有最后一个克隆输入可用。
我尝试用PHP这样做:
$product = "";
$product.= $_POST['product'] .= "t amount".$trenner.$_POST['amount'] .= "t price".$trenner.$_POST['price']."€";
但是行不通。
Jquery:var products = $(".products").clone();
var clonedRow = products.clone().insertAfter(".products:last").find(":input").val(this.value ).end();
//ajax
console.log(products,clonedRow,$('[name="Product"]', clonedRow))
首先,您的输入名称应该以[]
结尾,因此它可以有多个值。
<input type="text" name="amount[]" placeholder="amount" required />
在PHP中,您将像往常一样得到:
$amounts = $_POST['amount']; // array
,但现在它是array
,所以你不能像连接常规值一样连接它。例如,您可以用逗号,
将值连接在一起。
这可以通过内爆来实现。
$amounts = implode(', ', $_POST['amount']);
$product.= $_POST['product'] .= "t amount".$trenner.$amounts .= "t price".$trenner.$_POST['price']."€";
这里的要点是必须使用数组值并从中生成一些字符串。
如果你想把它们加起来,你可以使用array_sum.
$sum = array_sum($_POST['amount']);