Javascript 从DOM获取值并将其添加到按钮值

Javascript 从DOM获取值并将其添加到按钮值,javascript,Javascript,我有一个有点复杂的问题,95%解决了,但在最后一个步骤中堆栈为不知道js:(用PHP编写了我的全部代码,但smarty framework不允许我运行它(当然出于安全原因)-问题是在我的站点上获取EAN代码(在单独的数据库中搜索)并在模式弹出窗口中回显结果 一切都很好,除了我不知道如何搜索并最终将该值添加到一个按钮以开始该过程 这是头上的js function showthestock(str) { if (window.XMLHttpRequest) { // code for I

我有一个有点复杂的问题,95%解决了,但在最后一个步骤中堆栈为不知道js:(用PHP编写了我的全部代码,但smarty framework不允许我运行它(当然出于安全原因)-问题是在我的站点上获取EAN代码(在单独的数据库中搜索)并在模式弹出窗口中回显结果

一切都很好,除了我不知道如何搜索并最终将该值添加到一个按钮以开始该过程

这是头上的js

function showthestock(str) {
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
  } else {
    // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("showithere").innerHTML = this.responseText;
    }
  };
  xmlhttp.open("GET", "searchresult.php?q=" + str, true);
  xmlhttp.send();
}
还有HTML按钮等等

<button id="myBtn" type="button" class="btn btn-danger" data-toggle="modal" data-target="#myModal" value="1234567890123" onclick="showthestock(this.value)">stock in our shop...</button>
在我们店里进货。。。
..…
模态弹出窗口等。。。 ....

我需要从页面中获取的代码如下:

<div class="product-reference">
  <label class="label">EAN </label>
  <span itemprop="sku">065541068780</span>
</div>      

伊恩
065541068780
该代码与按钮中手动添加的EAN代码配合得很好,但我不知道如何从站点窃取EAN并将其自动添加到按钮值中


请告知

每页是否只有一个EAN?? 如果是,请给您的span一个ID

065541068780

那就做吧

var ean = document.getElementById("ean").innerHTML;

document.getElementById("myBtn").value = ean;
如果无法修改HTML,可以尝试使用正则表达式隔离EAN:

var regex = new RegExp(/<span itemprop="sku">([^<]*)<\/span>/gi);
var matches = regex.exec(document.body.innerHTML);

var myEAN = matches[1];
var regex=new RegExp(/([^试试这个:

document.getElementById("myBtn").addEventListener("click", function(){
var parent = document.querySelector('div.product-reference');
var child = parent.querySelector('span[itemprop="sku"]').innerHTML;
document.getElementById('myBtn').value = child;
});
查找
产品参考
,然后在此处获取带有EAN编号的
span
。接下来将此值设置为按钮。
希望这有帮助

谢谢Mike和蚊子的好主意,最后它像一个符咒一样工作…

你好,Mik!不幸的是,“1234567890123”值不是ID或不是类本身,所以我现在无法用getelementby如何称呼它:(我无法修改产品参考代码的结构如果您根本无法修改HTML,请尝试使用正则表达式隔离您的EAN。我将其添加到我的答案中。您好!那太好了(我现在可以从商店偷取EAN代码,但我无法将其实现到已经具有onclick功能的按钮:(请参见上面的按钮代码)