javascript - 如何访问使用 PHP/HTML 发送的电子邮件的 javascript 数组中的元素

标签 javascript php html arrays email

所以我正在开发一个网页,该网页从 html 中的日期元素生成一个 javascript 数组。

该数组本身工作正常,我可以使用如下命令将其打印到网页:

document.getElementById("demo").innerHTML = week[0];

访问 javascript 中生成的“week”数组并将其粘贴到网页上的 HTML span 元素中。

但是,这是一个使用用户输入到页面的数据发送电子邮件的网页,虽然我能够从用户那里获取所有其余数据,但我不确定如何获取来自此 javascript 数组的电子邮件数据。

电子邮件当前使用带有 php 变量的 HTML 进行格式化。我考虑过使用 php 数组,但我查找的每个解决方案似乎要么适用于不同的情况,要么太复杂,无法剖析和重新调整用途。

所以我需要的是类似以下之一的解决方案:

-能够将此 javascript 数组复制到 php 数组中,然后我可以访问该数组以获取电子邮件。

-能够在电子邮件的 HTML 中访问此 javascript 数组

这全部包含在服务器上的 php 文件中(HTML 标记、javascript 函数和 php)。

谢谢,

迈克尔

编辑:我找到了这个帖子:Pass Javascript Array -> PHP 并使用以下代码尝试了他们的解决方案:

Javascript:

JSON.stringify(week);

PHP:

$datesOfWeek = json_decode($_POST['week']);

但是每当我尝试访问数组的元素并在电子邮件中打印它们时,这些元素都不会打印出来。

最佳答案

我不确定你到底想要实现什么,但如果你想将数据从js(在客户端)连同表单数据一起发送到php脚本(在服务器上),你应该简单地序列化你的数组并将其作为值附加(隐藏)表单字段。在 php 脚本中,您可以以某种方式反序列化该字段的值(这取决于您选择的格式)

//编辑:这是 js 脚本示例,您可以使用 http://jsfiddle.net/zyt2kcmv/

var myArrayToSend = ["val1", "val2"]
var arrayField = document.querySelector("[name=jsArray]");
arrayField.value = JSON.stringify(myArrayToSend)

在服务器端,您只需要反序列化 $_POST["jsArray"] 的值(使用 json 库或简单的正则表达式)。您可以使用 myArrayToSend.join(";") 代替 JSON.stringify,然后使用 pho 中的 split 方法来“反序列化”该字符串。

关于javascript - 如何访问使用 PHP/HTML 发送的电子邮件的 javascript 数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305265/

相关文章:

javascript - 在第一个 slider 的标题中隐藏 Logo 。是否可以?

php - 如何使用 HHVM 监控文件变化?

php - 逗号分隔的字符串作为字段和数据 - 在 php mysql 中更新查询

html - 有没有办法在卡片内的 Material-UI Typography 元素中加粗一个词,而无需渲染?

javascript - 客户端和服务器端编程有什么区别?

javascript - 包含对象的 JSON 的迭代

javascript - 使用 jquery 禁用所有具有模态功能的页面元素

html - 可折叠的 div 在折叠时移动其他元素并且它适用于循环中的一个元素

javascript - 如何默认选择列表不选择与 jQuery bsmSelect 插件一起使用的元素

PHP-MySQL INSERT 操作不工作