javascript - 重复字段未通过电子邮件发送

标签 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";

但是,当我收到电子邮件时,我只得到“Array”作为字段值,而不是用户输入的文本:

数量:数组

项目:数组

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

最佳答案

正如 Jay 所说,你无法回显数组。以下是如何生成要发送的“数量”的示例。

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


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

关于javascript - 重复字段未通过电子邮件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33085856/

相关文章:

php - 奇怪的字符 PHP\u00a3 而不是 £

javascript - 带选项的 Reactjs 动态 optgroup

javascript - 无法获得 sequelize findbyPk 以向我的 React 应用程序返回单个值

javascript - XML 文件上的 Ajax 请求

php - 从sql表中选择随机行时如何防止选择已删除的ID

javascript - 调试minlength验证jquery程序

javascript - 当用户控件回发时,单选按钮不保留选择

php - Bootstrap 下拉菜单在 php codeigniter 中不起作用

jquery - 实现从 Google AJAX 库 API 到本地 jQuery 的回退

javascript - 使用ajax post方法将变量从javascript传递到php