首页 > 解决方案 > 如何在 javascript 函数中的循环中获取 PHP 中的 div

问题描述

下面是代码。

在该功能下,有一个resultContainer.innerHTML填充扫描的二维码列表。如何 $_POST PHP 中的值,以便我可以以电子邮件格式发送它?我尝试在 div ( <div **name="qrOutput"**>[${countResults}] - ${qrCodeMessage}</div>) 中添加一个名称,但 PHP 没有选择它。只返回一个空字符串。

我也尝试为<div id="qr-reader-results"></div>元素命名,但因为输出在此 div 内的另一个 div 内,所以我也得到了一个空结果。

非常感谢您的帮助。

<!-- start -->
<div id="qr-reader" style="width:500px"></div>
<div id="qr-reader-results"></div>


<div id="root"></div>
<script>
  function docReady(fn) {
    // see if DOM is already available
    if (document.readyState === "complete" ||
      document.readyState === "interactive") {
      // call on next available tick
      setTimeout(fn, 1);
    } else {
      document.addEventListener("DOMContentLoaded", fn);
    }
  }

  docReady(function() {
    var resultContainer = document.getElementById('qr-reader-results');
    var lastResult, countResults = 0;

    function onScanSuccess(qrCodeMessage) {
      if (qrCodeMessage !== lastResult) {
        ++countResults;
        lastResult = qrCodeMessage;
        resultContainer.innerHTML += ***`<div">[${countResults}] - ${qrCodeMessage}</div>`;***
      }
    }

    var html5QrcodeScanner = new Html5QrcodeScanner(
      "qr-reader", {
        fps: 10,
        qrbox: 250
      });
    html5QrcodeScanner.render(onScanSuccess);
  });
</script>
<p id="QRout"></p>

标签: javascriptphphtmlemail

解决方案


当您将结果添加到 DOM 时,您可以将结果存储在其他变量中。

  1. 声明一个变量来存储你的结果
var myResults = [];
  1. 当您将结果添加到 DOM 时,还将结果添加到数组变量中
// ...
resultContainer.innerHTML += `<div>[${countResults}] - ${qrCodeMessage}</div>`;
myResults.push({count: countResults, message: qrCodeMessage})
  1. 然后你可以myResult在 POST 请求上使用 var
myCustomPostFunction('/yourUrl/', myResult);

“myCustomPostFunction”将取决于您要发送数据的方式

检查这个代码笔:https ://codepen.io/zecka/pen/VwKNpze

像提交表单一样发布请求

如果您想像表单帖子一样将数据发送到当前页面,您可以在此处找到示例:https ://stackoverflow.com/a/133997/2838586

将请求发布到休息 api

获取:POST json 数据


推荐阅读