如何使用PHP处理动态生成的javascript代码并将结果作为电子邮件发送


how do I process dynamically generated javascript code with PHP and send the result as an email?

这是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

处理它们

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

2-然后需要在php文件中创建foreach循环来搜索所有输入。用CCD_ 3对其进行冷却。

您可以这样做:
当您添加新字段时,您可以保持它们的一致性并序列化它们。在所有输入字段中使用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);

希望这能有所帮助。