电子邮件中未发送重复字段

时间:2015-10-12 16:25:26

标签: javascript php jquery arrays forms

我正在创建一个允许用户复制字段以提交大量项目的表单。我希望用户能够复制最后2个字段(数量和项目),我已经通过这里的脚本完成了。

http://www.jqueryscript.net/form/jQuery-Plugin-For-Dynamic-Form-Field-Generator-DuplicateElement.html

[表单截图] [1]

对于要复制的字段,我在元素名称中包含了一个数组,因为它显然使用了:

<div class="form-group form-inline">
                        <label class="control-label" for="quantity">Quantity</label>         
                          <input  class="form-control input-md" id="quantity" type="text" name="quantity[]" maxlength="2" size="2" required>
                        <label class="control-label" for="item">Item</label>
                          <input  class="form-control input-md" id="item" type="text" placeholder="Item Name" name="item[]" maxlength="100" size="68" required>
                    </div>

提交后,值将传递到php文件,我将数组声明为:

$quantity = $_POST['quantity']; // required
$item = $_POST['item']; // required

并尝试将数组包含在电子邮件中:

$email_message .= "Quantity: ".[$quantity]."\n";
$email_message .= "Item: ".[$item]."\n";

然而,当我收到电子邮件时,我只会得到&#34; Array&#34;作为字段值而不是用户输入的文本:

数量:数组

项目:数组

如何让电子邮件包含重复字段中的各种值?

1 个答案:

答案 0 :(得分:0)

正如杰伊所说,你无法回应阵列。以下是如何生成要发送的“数量”的示例。

$quantity = $_POST['quantity'];
$quantity_val = "";
if( is_array( $quantity ) && count( $quantity ) > 0 ) {
    foreach( $quantity as $q ) {
        $quantity_val .= "{$q}\n";
    }
}


$email_message .= "Quantity: {$quantity}";