Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在邮件中发送Javascript数组_Javascript_Php - Fatal编程技术网

在邮件中发送Javascript数组

在邮件中发送Javascript数组,javascript,php,Javascript,Php,我有一个HTML表单可以从复选框中检索一些选项: <form action="" method="post" id="menuform" name="menuform"> <fieldset> <legend>Select a Menu</legend> <label> <input type="radio" name="se

我有一个HTML表单可以从复选框中检索一些选项:

     <form action="" method="post" id="menuform" name="menuform">
        <fieldset>
            <legend>Select a Menu</legend>
            <label>
                <input type="radio" name="selectedmenu" checked value="menu01" ape-qty='8' ent-qty='1' pes-qty='1' sor-qty='1' car-qty='1' pos-qty='1' data-price='95' />
                <span>First Item</span>
            </label>
            ...(more)...
        </fieldset>
        <fieldset>
            <legend id='aperitivosPrompt'>Elegir Aperitivos</legend>
            <label>
                <input type='checkbox' name='aperitivos' value="1" />
                <span>Item 1</span>
            </label>
            <label>
                <input type='checkbox' name='aperitivos' value="2" />
                <span>Item 2</span>
            </label>
            <label>
                <input type='checkbox' name='aperitivos' value="3" />
                <span>Item 3</span>
            </label>
            ...(more)...
        </fieldset>            
        <fieldset>
            <input type="submit" value="Enviar" />
        </fieldset>
     </form>

现在,我在浏览器控制台中获得了HTML表单的
字段中的所有“值”。但不仅仅是检查值,而且无论如何,我现在需要的是获取这个JSON.stringify并用PHP通过邮件发送。

编写一个PHP脚本来发送电子邮件,将表单操作更改为在此脚本上发布

注意:这是未经测试的

将您的表格更改为:

<form action="mail.php"...>
</form>

创建类似mail.php的

<?php
  ob_start();
  var_dump($_POST);
  $result = ob_get_clean();
  mail ( 'your@email.com' , 'subject' , $result);
?>


否则,您可以使用JSON.stringify和API使用JS发送电子邮件。

我找到了一个很好的解决方案。我得到所有“检查”值,并创建一封主题为的电子邮件

因此,HTML表单:

<html>   
<head>
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
    <script type='text/javascript' src='http://sisyphus-js.herokuapp.com/assets/application-09059f9f54cc3c3bff98487cf866644b.js'></script>
</head>

<body>
    <form action="configurador.php" method="post" id="menuform" name="menuform">
        <fieldset>
            <legend id='itemPrompt'>Choose Item</legend>
            <label>
                <input type='checkbox' name='item' value="Value#01" />
                <span>Value#01</span>
            </label>
            (...more...)
            <input type="submit" name="submit" value="Send" />
        </fieldset>
    </form>
</body>
这没关系。但是我在那封邮件中收到了所有的复选框,甚至没有选中。如果我不必打开客户端邮件,只需从服务器自动发送邮件就可以了


有没有针对这种变化的解决方案?

处理表单的php在哪里?研究如何使用PHPCheckout phpmailer通过电子邮件发送表单数据。其中一个最简单的php电子邮件插件,我想如果你想从用户收到的邮件中直接发送javascript,你会遇到很多麻烦。在这种情况下,我会制作一个特殊的页面,并通过电子邮件发送指向该页面的链接(可能带有某种令牌)。@jeroen目前还没有php文件,因为我正试图找到如何开发该部分的方法,而不是简单的解决方案。当我点击发送按钮时,什么也没发生。看起来var_导出并没有像我想象的那样返回字符串。上面编辑的示例确实有效。如果要获取多个复选框的状态,应使用
name='aperitivos[]'
<?php
  ob_start();
  var_dump($_POST);
  $result = ob_get_clean();
  mail ( 'your@email.com' , 'subject' , $result);
?>
<html>   
<head>
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
    <script type='text/javascript' src='http://sisyphus-js.herokuapp.com/assets/application-09059f9f54cc3c3bff98487cf866644b.js'></script>
</head>

<body>
    <form action="configurador.php" method="post" id="menuform" name="menuform">
        <fieldset>
            <legend id='itemPrompt'>Choose Item</legend>
            <label>
                <input type='checkbox' name='item' value="Value#01" />
                <span>Value#01</span>
            </label>
            (...more...)
            <input type="submit" name="submit" value="Send" />
        </fieldset>
    </form>
</body>
function sendMail() {
    var mailbody = "My Configurator: \n\n"
                    + $('input[name="item"]')
                    .map(function(id, box){ return (box.checked ? "[x]" : "[_]") + " " + box.value;})
                    .get()
                    .join("\n");
    var link = "mailto:mail@mail.com"
                + "?cc="
                + "&subject=" + escape("Configurator - Subject")
                + "&body=" + escape(mailbody);
    window.location.href = link;
}

$(function(){
    $( "#menuform" ).sisyphus();
});