我创建了一个表单,用户可以使用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))
答案 0 :(得分:1)
首先,您的输入名称应该包含[]
,因此它可以有多个值。
<input type="text" name="amount[]" placeholder="amount" required />
在PHP中,你会像往常一样得到它:
$amounts = $_POST['amount']; // array
但现在它是array
,因此您无法像常规值那样将其连接起来。例如,您可以使用逗号,
将值组合在一起。
可以使用implode完成此操作。
$amounts = implode(', ', $_POST['amount']);
$product.= $_POST['product'] .= "\t amount".$trenner.$amounts .= "\t price".$trenner.$_POST['price']."€";
这里指出你必须使用数组值并从中生成一些字符串。
如果您想将它们相加,可以使用array_sum。
$sum = array_sum($_POST['amount']);