-2

这是javascript代码

$(function () {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;

    $('#addScnt').live('click', function () {
        $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i + '" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    });

    $('#remScnt').live('click', function () {
        if (i > 2) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });
});

这是html代码

<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts">
            <input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" />
        </label>
    </p>
</div>

我正在尝试收集生成的所有输入并用 php 处理它们

4

1 回答 1

0

1-<form>在#p_scents 之前添加一个标签,以便所有新标签<input type="text" ...都在表单内。使用 ` 关闭 #p_scents 之后的标签并添加提交按钮或 javascript 函数。在表单操作中,您可以添加与您所在的文件相同的名称(假设它可以处理 php),否则创建一个 php 文件。

2-然后您需要在 php 文件中创建一个 foreach 循环来搜索所有输入。收集它们$_POST

您可以这样做:
当您添加新字段时,您可以保持它们相同并序列化它们。name="p_scnt[]"在所有输入字段中使用。一个已经在 html 中并且与所有由 javascript 生成的相同。这将序列化它们。

在 php 文件中使用: foreach($_POST["p_scnt"] as $value) { … },在里面{ }你可以写你的 php 代码。

3-关于从变量发送电子邮件,建议您使用一些电子邮件库来避免标头注入,但无论如何这里是一个示例:

$to      = 'recepient@somemail.com';
$subject = 'Subject here';
$message = "Content";
$message .= "more Content";
$message .= "even more Content or a variable".$variable;
$headers = 'From: sender@yourdomain.com' . "\r\n" .
'Reply-To: sender@yourdomain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

希望这可以帮助。

于 2013-06-22T15:58:55.973 回答